04 Dec, 2015
2 commits
-
Some devices or drivers cannot deal with having the same station
address for different virtual interfaces, say as a client to two
virtual AP interfaces. Rather than requiring each driver with a
limitation like that to enforce it, add a hardware flag for it.Signed-off-by: Johannes Berg
-
I want to get the full off-channel bugfix since later code depends on
it, as well as the AP client state change so I can revert it correctly.Signed-off-by: Johannes Berg
03 Dec, 2015
3 commits
-
In the last change here, I neglected to update the cookie in one code
path: when a mgmt-tx has no real cookie sent to userspace as it doesn't
wait for a response, but is off-channel. The original code used the SKB
pointer as the cookie and always assigned the cookie to the TX SKB in
ieee80211_start_roc_work(), but my change turned this around and made
the code rely on a valid cookie being passed in.Unfortunately, the off-channel no-wait TX path wasn't assigning one at
all, resulting in an uninitialized stack value being used. This wasn't
handed back to userspace as a cookie (since in the no-wait case there
isn't a cookie), but it was tested for non-zero to distinguish between
mgmt-tx and off-channel.Fix this by assigning a dummy non-zero cookie unconditionally, and get
rid of a misleading comment and some dead code while at it. I'll clean
up the ACK SKB handling separately later.Fixes: 3b79af973cf4 ("mac80211: stop using pointers as userspace cookies")
Signed-off-by: Johannes Berg -
DFS channels should not be actively scanned as we can't be sure
if we are allowed or not.If the current channel is in the DFS band, active scan might be
performed after CSA, but we have no guarantee about other channels,
therefore it is safer to prevent active scanning at all.Cc: stable@vger.kernel.org
Signed-off-by: Antonio Quartulli
Signed-off-by: Johannes Berg -
Interfaces are being initialized (setup) on addition,
and torn down on removal.However, p2p device is being torn down when stopped,
resulting in the next p2p start operation being done
on uninitialized interface.Solve it by calling ieee80211_teardown_sdata() only
on interface removal (for the non-netdev case).Signed-off-by: Eliad Peller
Signed-off-by: Emmanuel Grumbach
[squashed in fix to call teardown after unregister]
Signed-off-by: Johannes Berg
25 Nov, 2015
12 commits
-
Geert Uytterhoeven says:
====================
sh_eth: Remove obsolete platform_device_id entriesSince commit 3d7608e4c169af03 ("ARM: shmobile: bockw: remove legacy
board file and config"), which is in v4.4-rc1, shmobile SoCs are only
supported in generic DT-only ARM multi-platform builds. The sh_eth
driver doesn't need to match platform devices by name anymore, hence
this series removes the corresponding platform_device_id entries.Changes since v2:
- More Acks,
- Platform dependency has entered mainline,Changes since v1:
- Protect some data and functions by #ifdef CONFIG_OF to silence
unused compiler warnings on SH,
- New patches 3 and 4.Thanks for applying!
====================Signed-off-by: David S. Miller
-
Since commit 3d7608e4c169af03 ("ARM: shmobile: bockw: remove legacy
board file and config"), R-Car Gen1 SoCs are only supported in generic
DT-only ARM multi-platform builds. The driver doesn't need to match
platform devices by name anymore, hence remove the corresponding
platform_device_id entry.Protect sh_eth_set_rate_r8a777x() and r8a777x_data by #ifdef CONFIG_OF,
as they're now referenced on DT platforms only.Signed-off-by: Geert Uytterhoeven
Acked-by: Simon Horman
Signed-off-by: David S. Miller -
Since commit 1fa59bda21c7fa36 ("ARM: shmobile: Remove legacy board code
for Armadillo-800 EVA"), r8a7740 is only supported in generic DT-only
ARM multi-platform builds. The driver doesn't need to match platform
devices by name anymore, hence remove the corresponding
platform_device_id entry.Protect r8a7740_data by #ifdef CONFIG_OF as it's now referenced on DT
platforms only. Move it to a more logical position, in front of the
r8a777x support, so we can have a single #ifdef covering all r7s* and
r8a* support soon. This requires moving a few helper functions, too.Signed-off-by: Geert Uytterhoeven
Acked-by: Simon Horman
Signed-off-by: David S. Miller -
Since commit a483dcbfa21f919c ("ARM: shmobile: lager: Remove legacy
board support"), R-Car Gen2 SoCs are only supported in generic DT-only
ARM multi-platform builds. The driver doesn't need to match platform
devices by name anymore, hence remove the corresponding
platform_device_id entry.Protect r8a779x_data by #ifdef CONFIG_OF as it's now referenced on DT
platforms only.Signed-off-by: Geert Uytterhoeven
Acked-by: Simon Horman
Signed-off-by: David S. Miller -
Since commit 05104c266ae9a167 ("ARM: shmobile: r7s72100: genmai: Remove
legacy board file"), r7s72100 is only supported in generic DT-only ARM
multi-platform builds. The driver doesn't need to match platform
devices by name anymore, hence remove the corresponding
platform_device_id entry.Protect r7s72100_data by #ifdef CONFIG_OF as it's now referenced on DT
platforms only. Move it to a more logical position, in front of the
r8a777x support, so we can have a single #ifdef covering all r7s* and
r8a* support soon. This requires moving a helper function, too.Signed-off-by: Geert Uytterhoeven
Acked-by: Simon Horman
Signed-off-by: David S. Miller -
The private slave queue and slave struct haven't been used for anything
and aren't needed, this allows to reduce memory usage and simplify
enslave/release. We can use netdev_for_each_lower_dev() to free the vrf
ports when deleting a vrf device. Also if in the future a private struct
is needed for each slave, it can be implemented via lower devices'
private member (similar to how bonding does it).Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
…etooth/bluetooth-next
Johan Hedberg says:
====================
pull request: bluetooth-next 2015-11-23Here's the first bluetooth-next pull request for the 4.5 kernel.
- Add new Get Advertising Size Information management command
- Add support for new system note message type on monitor channel
- Refactor LE scan changes behind separate workqueue to avoid races
- Fix issue with privacy feature when powering on adapter
- Various minor fixes & cleanups here and therePlease let me know if there are any issues pulling. Thanks.
====================Signed-off-by: David S. Miller <davem@davemloft.net>
-
in case of error no need to set num_tx and num_rx = 1, because in case of error
these variables will remain unchanged by of_property_read_u32 ie 1 onlySigned-off-by: Saurabh Sengar
Signed-off-by: David S. Miller -
this patch does the following:
1 . remove unnecessary if, else condition
2 . reduce one variable
3 . change the return type of 2 functions to void as there return values
turn out to be 0 always after above changesSigned-off-by: Saurabh Sengar
Signed-off-by: David S. Miller -
…x/kernel/git/mkl/linux-can-next
Marc Kleine-Budde says:
====================
pull-request: can-next 2015-11-23this is a pull request of a single patch for net-next/master.
The patch by Kedareswara rao Appana converts the xilinx CAN driver to
runtime_pm.
====================Signed-off-by: David S. Miller <davem@davemloft.net>
-
Commit 09605cc12c078306 ("net ipv4: use preferred log methods") replaced
a few calls of pr_cont() after a console print without a trailing
newline by pr_info(), causing lines to be split during IP
autoconfiguration, like:.
,
OK
IP-Config: Got DHCP answer from 192.168.97.254,
my address is 192.168.97.44Convert these back to using pr_cont(), so it prints again:
., OK
IP-Config: Got DHCP answer from 192.168.97.254, my address is 192.168.97.44Absorb the printing of "my address ..." into the previous call to
pr_info(), as there's no reason to use a continuation there.Convert one more pr_info() to print nameservers while we're at it.
Fixes: 09605cc12c078306 ("net ipv4: use preferred log methods")
Signed-off-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
After the introduction of the switch gpio reset API, I'm getting
build errors in configurations that disable CONFIG_GPIOLIB:net/dsa/dsa.c:783:16: error: implicit declaration of function 'gpio_to_desc' [-Werror=implicit-function-declaration]
The reason is that linux/gpio/consumer.h is not automatically
included without gpiolib support. This adds an explicit #include
statement to make it compile in all configurations. The reset
functionality will not work without gpiolib, which is what you
get when disabling the feature.As far as I can tell, gpiolib is supported on all architectures
on which you can have DSA at the moment.Signed-off-by: Arnd Bergmann
Fixes: cc30c16344fc ("net: dsa: Add support for a switch reset gpio")
Acked-by: Andrew Lunn
Signed-off-by: David S. Miller
24 Nov, 2015
23 commits
-
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2015-11-23This series contains updates to ixgbe, ixgbevf, fm10k, i40e and i40evf.
Jacob fixes an issue where VF could attempt to read queues it does not own,
so prevent this we check queue 0 before we continue.Matthew fixes the MTU for jumbo frames for fm10k.
Julia Lawall cleans up a unneeded NULL test in ixgbe.
Mark cleans up a redundant header inclusion. Adds KR mode support for
CS4227 chip. Cleaned up diagnostic code, which is no longer needed, for
the CS4227 chip.Jean Sacren fixes kernel documentation for ixgbe.
Alex Duyck fixes an fm10k and ixgbe issue in which the polling routine would
increase the budget for receive to at least 1 per queue if multiple queues were
present. This would result in receive packets being processed when the budget
was 0 which is meant to indicate that no receive can be handled. Also fixes
an ixgbevf performance issue where netperf test will starve for memory in the
time form one transmit interrupt to the next, so limit lowest interrupt rate
for adaptive interrupt moderation to 12K. Fixed up ixgbe and ixgbevf to
use napi_schedule_irqoff() where the drivers were run from hard interrupt
context or with interrupts already disabled in netpoll.Jesse fixes a compiler warning about an unused variable for i40evf.
John Greene fixes an issue with ixgbevf, where if the VF driver is loaded
while the corresponding PH interface is down, the driver assigns a random
MAC address, can be overwritten with the value of hw->mac.perm_addr which
is 0 at that point. So avoid this case by initializing hw->mac.perm_addr
to the randomly generated address and do not set it unless we receive an
ACK from ixgbe.Rasmus Villemoes cleans up some confusing code in i40e debugfs code.
====================Signed-off-by: David S. Miller
-
The vmci_transport_notify_ops structures are never modified, so declare
them as const.Done with the help of Coccinelle.
Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller -
The in_cache_ops and eg_cache_ops structures are never modified, so declare
them as const.Done with the help of Coccinelle.
Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller -
Nikolay Aleksandrov says:
====================
net: ipmr: cleanups and minor improvementsSince I'll have to work with ipmr, I decided to clean it up and do some
minor improvements. Functionally there're almost no changes except the
SLAB_PANIC removal. Most of the patches just re-design some functions to
be clearer and more concise and try to remove the ifdef web that was
inside. There's more information in each commit. This is the first set,
the end goal is to introduce complete netlink support and control over
the mfc and vif devices.
I've tried to test all of the setsockopt/getsockopt options, and also
made builds with various ipmr kconfig options turned on and off.v2: change patch 7 to keep SLAB_PANIC and just drop the unnecessary null
check
====================Signed-off-by: David S. Miller
-
Factor out common vif init code used in both tunnel and pimreg
initialization and create ipmr_init_vif_indev() function.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Take rtnl in the beginning unconditionally as most options already need
it (one exception - MRT_DONE, see the comment inside), make the
lock/unlock places central and move out the switch() local variables.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
It's not necessary to check for null as SLAB_PANIC is used and we'll
panic if the alloc fails, so just drop it.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Trivial replace of ifdef with IS_BUILTIN().
Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Use a switch to determine if optname is correct and set val accordingly.
This produces a much more straight-forward and readable code.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Trivial code and comment style fixes, also removed some extra newlines,
spaces and tabs.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Add the helper pimsm_enabled() which replaces the old CONFIG_IP_PIMSM
define and is used to check if any version of PIM-SM has been enabled.
Use a single if defined(CONFIG_IP_PIMSM_V1) || defined(CONFIG_IP_PIMSM_V2)
for the pim-sm shared code. This is okay w.r.t IGMPMSG_WHOLEPKT because
only a VIFF_REGISTER device can send such packet, and it can't be
created if pimsm_enabled() is false.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Before mroute_reg_vif_num was defined only if any of the CONFIG_PIMSM_
options were set, but that's not really necessary as the size of the
struct is the same in both cases (checked with pahole, both cases size
is 3256 bytes) and we can remove some unnecessary ifdefs to simplify the
code.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Move the table id check in ipmr_new_table and make it return error
pointer. We need this change for the upcoming netlink table manipulation
support in order to avoid code duplication and a race condition.Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
This code is pretty confused. The variable name 'bytes_not_copied'
clearly indicates that the programmer knew the semantics of
copy_{to,from}_user, but then the return value is checked for being
negative and used as a -Exxx return value.I'm not sure this is the proper fix, but at least we get rid of the
dead code which pretended to check for access faults.Signed-off-by: Rasmus Villemoes
Acked-by: Shannon Nelson
Signed-off-by: Jeff Kirsher -
If ixgbevf is loaded while the corresponding PF interface is down
and the driver assigns a random MAC address, that address can be
overwritten with the value of hw->mac.perm_addr, which would be 0 at
that point.To avoid this case we init hw->mac.perm_addr to the randomly generated
address and do not set it unless we receive ACK from ixgbe.Reported-by: John Greene
Signed-off-by: Emil Tantilov
Tested-by: Krishneil Singh
Signed-off-by: Jeff Kirsher -
replace some instances of memcpy for setting up the mac address with
ether_addr_copy()Signed-off-by: Emil Tantilov
Tested-by: Darin Miller
Signed-off-by: Jeff Kirsher -
Compiler complained of an unused variable, which the driver was just
using to store the result of a rd32 which is used to clear a register
unconditionally. Just drop the unused variable and re-use one.Signed-off-by: Jesse Brandeburg
Tested-by: Andrew Bowers
Signed-off-by: Jeff Kirsher -
Testing has now shown that the diagnostic code used with the CS4227
is no longer needed, so remove it.Signed-off-by: Mark Rustad
Tested-by: Darin Miller
Signed-off-by: Jeff Kirsher -
The ixgbe_intr and ixgbe/ixgbevf_msix_clean_rings functions run from hard
interrupt context or with interrupts already disabled in netpoll.They can use napi_schedule_irqoff() instead of napi_schedule()
Signed-off-by: Alexander Duyck
Tested-by: Darin Miller
Signed-off-by: Jeff Kirsher -
This patch is the ixgbevf version of commit 8ac34f10a5ea4 "ixgbe: Limit
lowest interrupt rate for adaptive interrupt moderation to 12K"The same logic applies here as well as the same results since a netperf
test will starve for memory in the time from one Tx interrupt to the next.
As a result the ixgbevf driver underperformed when compared to vhost_net.Signed-off-by: Alexander Duyck
Tested-by: Darin Miller
Signed-off-by: Jeff Kirsher -
KR auto-neg mode is what we will be using going forward. The SW
interface for this mode is different that what was used for iXFI.Signed-off-by: Mark Rustad
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
This patch corrects an issue in which the polling routine would increase
the budget for Rx to at least 1 per queue if multiple queues were present.
This would result in Rx packets being processed when the budget was 0 which
is meant to indicate that no Rx can be handled.Signed-off-by: Alexander Duyck
Tested-by: Darin Miller
Signed-off-by: Jeff Kirsher -
This patch corrects an issue in which the polling routine would increase
the budget for Rx to at least 1 per queue if multiple queues were present.
This would result in Rx packets being processed when the budget was 0 which
is meant to indicate that no Rx can be handled.Signed-off-by: Alexander Duyck
Tested-by: Krishneil Singh
Signed-off-by: Jeff Kirsher