10 Nov, 2012
2 commits
-
If a gianfar ethernet device is down prior to hibernating a
system, it will no longer be present upon system restore.For example:
~# ifconfig eth0 down
~# echo disk > /sys/power/state~# ifconfig eth0 up
SIOCSIFFLAGS: No such deviceThis happens because the restore function bails out early upon
finding devices that were not up at hibernation. In doing so,
it never gets to the netif_device_attach call at the end of
the restore function. Adding the netif_device_attach as done
here also makes the gfar_restore code consistent with what is
done in the gfar_resume code.Cc: Claudiu Manoil
Signed-off-by: Wang Dongsheng
Signed-off-by: Paul Gortmaker
Acked-by: Claudiu Manoil
Signed-off-by: David S. Miller -
when something goes wrong, a flood of these messages can be
generated by usbnet (thousands per second). This doesn't
generally *help* the condition so this patch ratelimits the
rate of their generation.There's an underlying problem in usbnet's kevent deferral
mechanism which needs fixing, specifically that events *can*
get dropped and not handled. This patch doesn't address this,
but just mitigates fallout caused by the current implemention.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller
08 Nov, 2012
3 commits
-
cdc_eem frames might need to contain 802.1Q VLAN Ethernet frames.
URB/skb sizing from usbnet will default to the hard_mtu,
so account for the VLAN header by expanding that via hard_header_lenSigned-off-by: Ian Coolidge
Signed-off-by: David S. Miller -
INGPADBOUNDARY_MASK is already shifted. No need to shift it again. On reloading
a driver it was resulting in a bad SGE FL MTU sizes [1536, 9088] error. This
only causes an issue on systems that have L1 cache size of 32B, 128B, 512B,
2048B or 4096B.Signed-off-by: Jay Hernandez
Signed-off-by: Vipul Pandya
Signed-off-by: David S. Miller -
We should not assume reserve fields to be don't cares as fields may change.
Clearing data structures before using.Signed-off-by: Jay Hernandez
Signed-off-by: Vipul Pandya
Signed-off-by: David S. Miller
04 Nov, 2012
5 commits
-
Correct spelling typo in bnx2x driver
Signed-off-by: Masanari Iida
Signed-off-by: David S. Miller -
f7b2927 introduced tx checksum offload support for smsc95xx,
and enabled it by default. This feature doesn't take
endianness into account, so causes most tx to fail on
those platforms.This patch fixes the problem fully by adding the missing
conversion.An alternate workaround is to disable TX checksum offload
on those platforms. The cpu impact of this feature is very low.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
RTL_GIGA_MAC_VER_35 includes no multicast hardware filter.
Signed-off-by: Nathan Walp
Suggested-by: Hayes Wang
Acked-by: Francois Romieu
Signed-off-by: David S. Miller -
This regression was spotted between Debian squeeze and Debian wheezy
kernels (respectively based on 2.6.32 and 3.2). More info about
Wake-on-LAN issues with Realtek's 816x chipsets can be found in the
following thread: http://marc.info/?t=132079219400004Probable regression from d4ed95d796e5126bba51466dc07e287cebc8bd19;
more chipsets are likely affected.Tested on top of a 3.2.23 kernel.
Reported-by: Florent Fourcot
Tested-by: Florent Fourcot
Hinted-by: Francois Romieu
Signed-off-by: Cyril Brulebois
Signed-off-by: David S. Miller -
Some driver uses tasklet_disable in device remove/close process,
tasklet_disable will inc tasklet->count and return. If the tasklet
is not handled yet because some softirq pressure, the tasklet will
placed on the tasklet_vec, never have a chance to excute. This might
lead to ksoftirqd heavy loaded, wakeup with pending_softirq, but
tasklet is disabled. tasklet_kill should be used in this case.Signed-off-by: Xiaotian Feng
Cc: "David S. Miller"
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller
03 Nov, 2012
5 commits
-
vmxnet3 has a 16Kbytes limit per tx descriptor, that happened to work
as long as we provided PAGE_SIZE fragments.Our stack can now build larger fragments, so we need to split them to
the 16kbytes boundary.Signed-off-by: Eric Dumazet
Reported-by: jongman heo
Tested-by: jongman heo
Cc: Shreyas Bhatewara
Reviewed-by: Bhavesh Davda
Signed-off-by: Shreyas Bhatewara
Signed-off-by: David S. Miller -
If T4 configuration file gets loaded from the /lib/firmware/cxgb4/ directory
then offload capabilities of the cards were getting disabled during
initialization. Hence ULDs do not get an UP event from the LLD.Signed-off-by: Jay Hernandez
Signed-off-by: Vipul Pandya
Signed-off-by: David S. Miller -
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.The semantic patch that found this issue(http://coccinelle.lip6.fr/):
//
@@
expression E;
@@
... when != mdiobus_unregister(E);+ mdiobus_unregister(E);
mdiobus_free(E);
//Signed-off-by: Peter Senna Tschudin
Signed-off-by: David S. Miller -
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.The semantic patch that found this issue(http://coccinelle.lip6.fr/):
//
@@
expression E;
@@
... when != mdiobus_unregister(E);+ mdiobus_unregister(E);
mdiobus_free(E);
//Signed-off-by: Peter Senna Tschudin
Tested-by: Roland Stigge
Tested-by: Alexandre Pereira da Silva
Signed-off-by: David S. Miller -
Since commit 96bed4b9 (use FW 7.8.2) BRB HW block needs to be
initialized using fw values for all devices.
Otherwise ETS on 57712/578xx will not work.Signed-off-by: Dmitry Kravkov
Signed-off-by: Ariel Elior
Signed-off-by: David S. Miller
01 Nov, 2012
13 commits
-
Fix off-by-one error because IFNAMSIZ == 16 and when this
code gets executed we stick a NULL byte where we should not.How to reproduce:
with CONFIG_CC_STACKPROTECTOR=y (otherwise it may pass by silently)
modprobe bonding; echo 1 > /sys/class/net/bond0/bonding/mode;
echo "AAAAAAAAAAAAAAAA" > /sys/class/net/bond0/bonding/active_slave;Signed-off-by: Nikolay Aleksandrov
Note: Sorry for the second patch but I missed this one while checking
the file. You can squash them into one patch.
Signed-off-by: David S. Miller -
Fix off-by-one error because IFNAMSIZ == 16 and when this
code gets executed we stick a NULL byte where we should not.How to reproduce:
with CONFIG_CC_STACKPROTECTOR=y (otherwise it may pass by silently)
modprobe bonding; echo 1 > /sys/class/net/bond0/bonding/mode;
echo "AAAAAAAAAAAAAAAA" > /sys/class/net/bond0/bonding/primary;Signed-off-by: Nikolay Aleksandrov
Signed-off-by: David S. Miller -
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
Since the Warpcore supports various link types, need to set only the correct
supported modes for XFI which is the serdes interface for the 10G-baseT PHY.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
When SFP+ module is plugged in after driver is already loaded, it may not be
recognized, so set SFP module recognition time up to 300ms, without resetting
the module power in the middle.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
Fix possible incorrect link speed provision following rapid link speed change.
Clear link speed mask after each link change, and not only after link down.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
Several KR registers were not set correctly back to default after
loopback test, so set those global registers over the global WC lane (zero)
rather than the current lane.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
In case of link flap avoidance between PXE boot and bnx2x, set the appropriate
PHY DEVAD even if LFA kicks in.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
Fix 1G KR link by restoring CL72 misc control register to default value rather
than 0.Signed-off-by: Yaniv Rosner
Signed-off-by: Barak Witkowski
Signed-off-by: Dmitry Kravkov
Signed-off-by: David S. Miller -
This patch corrects the ethtool get_ts_info functon which did not state that
software timestamping was supported, even though it is.Signed-off-by: Jacob Keller
CC: Stable [3.5]
Tested-by: Stephen Ko
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
John W. Linville says:
====================
This is a batch of fixes intended for 3.7...The biggest portion of this is a pull request from Johannes Berg:
"Please pull my mac80211.git tree per below to get a number of fixes. I
have included a patch from Antonio to fix a memcpy overrun, Felix's
patches for the antenna gain/tx power issues, a few mesh-related fixes
from Javier for mac80211 and my own patches to not access data that
might not be present in an skb at all as well as a patch (the duplicate
IE check one) to make mac80211 forward-compatible with potential future
spec extensions that use the same IE multiple times.It's a bit bigger than I'd like maybe, but I think all of these are
worthwhile fixes at this point."In addition...
Felix Fietkau fixes an ath9k use-after-free issue.
Stanislaw Gruszka adds a valid value check to rt2800.
Sven Eckelmann adds a check to only check a TID value in a BlockAck, for
frames that could be either a BlockAck or a normal Ack.
====================Signed-off-by: David S. Miller
-
VXLAN confused flag versus bitmap on state.
Based on part of a earlier patch by David Stevens.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
…wireless into for-davem
31 Oct, 2012
2 commits
-
The ath9k xmit functions for AMPDUs can send frames as non-aggregate in case
only one frame is currently available. The client will then answer using a
normal Ack instead of a BlockAck. This acknowledgement has no TID stored and
therefore the hardware is not able to provide us the corresponding TID.The TID set by the hardware in the tx status descriptor has to be seen as
undefined and not as a valid TID value for normal acknowledgements. Doing
otherwise results in a massive amount of retransmissions and stalls of
connections.Users may experience low bandwidth and complete connection stalls in
environments with transfers using multiple TIDs.This regression was introduced in b11b160defc48e4daa283f785192ea3a23a51f8e
("ath9k: validate the TID in the tx status information").Signed-off-by: Sven Eckelmann
Signed-off-by: Simon Wunderlich
Cc: stable@vger.kernel.org
Acked-by: Felix Fietkau
Signed-off-by: John W. Linville -
Some hardware has correct (!= 0xff) value of tssi_bounds[4] in the
EEPROM, but step is equal to 0xff. This results on ridiculous delta
calculations and completely broke TX power settings.Reported-and-tested-by: Pavel Lucik
Cc: stable@vger.kernel.org
Signed-off-by: Stanislaw Gruszka
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville
30 Oct, 2012
1 commit
-
bf->bf_next is only while buffers are chained as part of an A-MPDU
in the tx queue. When a tid queue is flushed (e.g. on tearing down
an aggregation session), frames can be enqueued again as normal
transmission, without bf_next being cleared. This can lead to the
old pointer being dereferenced again later.This patch might fix crashes and "Failed to stop TX DMA!" messages.
Signed-off-by: Felix Fietkau
Cc: stable@vger.kernel.org
Signed-off-by: John W. Linville
27 Oct, 2012
2 commits
-
Pull networking fixes from David Miller:
"This is what we usually expect at this stage of the game, lots of
little things, mostly in drivers. With the occasional 'oops didn't
mean to do that' kind of regressions in the core code."1) Uninitialized data in __ip_vs_get_timeouts(), from Arnd Bergmann
2) Reject invalid ACK sequences in Fast Open sockets, from Jerry Chu.
3) Lost error code on return from _rtl_usb_receive(), from Christian
Lamparter.4) Fix reset resume on USB rt2x00, from Stanislaw Gruszka.
5) Release resources on error in pch_gbe driver, from Veaceslav Falico.
6) Default hop limit not set correctly in ip6_template_metrics[], fix
from Li RongQing.7) Gianfar PTP code requests wrong kind of resource during probe, fix
from Wei Yang.8) Fix VHOST net driver on big-endian, from Michael S Tsirkin.
9) Mallenox driver bug fixes from Jack Morgenstein, Or Gerlitz, Moni
Shoua, Dotan Barak, and Uri Habusha.10) usbnet leaks memory on TX path, fix from Hemant Kumar.
11) Use socket state test, rather than presence of FIN bit packet, to
determine FIONREAD/SIOCINQ value. Fix from Eric Dumazet.12) Fix cxgb4 build failure, from Vipul Pandya.
13) Provide a SYN_DATA_ACKED state to complement SYN_FASTOPEN in socket
info dumps. From Yuchung Cheng.14) Fix leak of security path in kfree_skb_partial(). Fix from Eric
Dumazet.15) Handle RX FIFO overflows more resiliently in pch_gbe driver, from
Veaceslav Falico.16) Fix MAINTAINERS file pattern for networking drivers, from Jean
Delvare.17) Add iPhone5 IDs to IPHETH driver, from Jay Purohit.
18) VLAN device type change restriction is too strict, and should not
trigger for the automatically generated vlan0 device. Fix from Jiri
Pirko.19) Make PMTU/redirect flushing work properly again in ipv4, from
Steffen Klassert.20) Fix memory corruptions by using kfree_rcu() in netlink_release().
From Eric Dumazet.21) More qmi_wwan device IDs, from Bjørn Mork.
22) Fix unintentional change of SNAT/DNAT hooks in generic NAT
infrastructure, from Elison Niven.23) Fix 3.6.x regression in xt_TEE netfilter module, from Eric Dumazet.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (57 commits)
tilegx: fix some issues in the SW TSO support
qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan
net: usb: Fix memory leak on Tx data path
net/mlx4_core: Unmap UAR also in the case of error flow
net/mlx4_en: Don't use vlan tag value as an indication for vlan presence
net/mlx4_en: Fix double-release-range in tx-rings
bas_gigaset: fix pre_reset handling
vhost: fix mergeable bufs on BE hosts
gianfar_ptp: use iomem, not ioports resource tree in probe
ipv6: Set default hoplimit as zero.
NET_VENDOR_TI: make available for am33xx as well
pch_gbe: fix error handling in pch_gbe_up()
b43: Fix oops on unload when firmware not found
mwifiex: clean up scan state on error
mwifiex: return -EBUSY if specific scan request cannot be honored
brcmfmac: fix potential NULL dereference
Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz"
ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation
rt2x00: usb: fix reset resume
rtlwifi: pass rx setup error code to caller
... -
Pull infiniband fixes from Roland Dreier:
"Small batch of fixes for 3.7:
- Fix crash in error path in cxgb4
- Fix build error on 32 bits in mlx4
- Fix SR-IOV bugs in mlx4"* tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
mlx4_core: Perform correct resource cleanup if mlx4_QUERY_ADAPTER() fails
mlx4_core: Remove annoying debug messages from SR-IOV flow
RDMA/cxgb4: Don't free chunk that we have failed to allocate
IB/mlx4: Synchronize cleanup of MCGs in MCG paravirtualization
IB/mlx4: Fix QP1 P_Key processing in the Primary Physical Function (PPF)
IB/mlx4: Fix build error on platforms where UL is not 64 bits
26 Oct, 2012
7 commits
-
…wireless into for-davem
-
This change correctly computes the header length and data length in
the fragments to avoid a bug where we would end up with extremely
slow performance. Also adopt use of skb_frag_size() accessor.Signed-off-by: Chris Metcalf
Cc: stable@vger.kernel.org [v3.6]
Signed-off-by: David S. Miller -
These devices provide QMI and ethernet functionality via a standard CDC
ethernet descriptor. But when driven by cdc_ether, the QMI
functionality is unavailable because only cdc_ether can claim the USB
interface. Thus blacklist the devices in cdc_ether and add their IDs to
qmi_wwan, which enables both QMI and ethernet simultaneously.Signed-off-by: Dan Williams
Cc: stable@vger.kernel.org
Acked-by: Greg Kroah-Hartman
Acked-by: Bjørn Mork
Signed-off-by: David S. Miller -
Driver anchors the tx urbs and defers the urb submission if
a transmit request comes when the interface is suspended.
Anchoring urb increments the urb reference count. These
deferred urbs are later accessed by calling usb_get_from_anchor()
for submission during interface resume. usb_get_from_anchor()
unanchors the urb but urb reference count remains same.
This causes the urb reference count to remain non-zero
after usb_free_urb() gets called and urb never gets freed.
Hence call usb_put_urb() after anchoring the urb to properly
balance the reference count for these deferred urbs. Also,
unanchor these deferred urbs during disconnect, to free them
up.Signed-off-by: Hemant Kumar
Acked-by: Oliver Neukum
Signed-off-by: David S. Miller -
If a failure takes place during the EQ creation, we need to unmap the
UAR memory block too.Signed-off-by: Dotan Barak
Signed-off-by: Uri Habusha
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
The vlan tag can be zero. This is why it can't serve as an indication
that packet requires VLAN header in the TX flow.Signed-off-by: Moni Shoua
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
The QP range is reserved as a single block. However, when freeing the
en resources, the tx-ring QPs are released both in mlx4_en_destroy_tx_ring
(one at a time) and in mlx4_en_free_resources (as a block release).Fix by eliminating the one-at-a-time release in mlx4_en_destroy_tx_ring.
Signed-off-by: Jack Morgenstein
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller