linux-stable/drivers/net
Hariprasad Shenai 4055ae5e6d cxgb4: Synchronize access to mailbox
The issue comes when there are multiple threads attempting to use
the mailbox facility at the same time.
When DCB operations and interface up/down is run in a loop for every
0.1 sec, we observed mailbox collisions. And out of the two commands
one would fail with the present code, since we don't queue the second
command.

To overcome the above issue, added a queue to access the mailbox.
Whenever a mailbox command is issued add it to the queue. If its at
the head issue the mailbox command, else wait for the existing command
to complete. Usually command takes less than a milli-second to
complete.

Also timeout from the loop, if the command under execution takes
long time to run.

In reality, the number of mailbox access collisions is going to be
very rare since no one runs such abusive script.

Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-06 15:54:40 -05:00
..
appletalk Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
arcnet
bonding
caif
can ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
cris
dsa net: dsa: b53: Utilize common helpers for u64/MAC 2017-01-06 15:51:29 -05:00
ethernet cxgb4: Synchronize access to mailbox 2017-01-06 15:54:40 -05:00
fddi fddi: skfp: Use more common logging styles 2016-12-29 11:37:14 -05:00
fjes
hamradio Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hippi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
ieee802154 ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
ipvlan ipvlan: assign unique dev-id for each slave device. 2017-01-04 13:30:42 -05:00
irda Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
phy Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
plip
ppp Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
slip Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
team
usb net: usb: asix_devices: add .reset_resume for USB PM 2017-01-04 13:03:08 -05:00
vmxnet3 Updates for 4.10 kernel merge window 2016-12-15 12:03:32 -08:00
wan net: wan: slic_ds26522: fix spelling mistake: "configurated" -> "configured" 2016-12-28 15:12:20 -05:00
wimax
wireless wireless-drivers-next patches for 4.11 2017-01-02 15:23:34 -05:00
xen-netback xen: features and fixes for 4.10 rc0 2016-12-13 16:07:55 -08:00
dummy.c dummy: expend mtu range for dummy device 2016-12-07 13:29:45 -05:00
eql.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
geneve.c geneve: avoid use-after-free of skb->data 2016-12-02 14:07:11 -05:00
gtp.c gtp: Fix initialization of Flags octet in GTPv1 header 2016-12-17 12:00:25 -05:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
macsec.c macsec: remove first zero and add attribute name in comments 2016-12-08 13:08:21 -05:00
macvlan.c driver: macvlan: Remove the rcu member of macvlan_port 2016-12-07 13:22:07 -05:00
macvtap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-12-16 10:24:44 -08:00
Makefile
mdio.c net: mdio: add mdio45_ethtool_ksettings_get 2017-01-02 16:59:10 -05:00
mii.c
netconsole.c
nlmon.c nlmon: use core MTU range checking in nlmon driver 2016-12-07 13:28:26 -05:00
ntb_netdev.c
rionet.c
sb1000.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Space.c
sungem_phy.c
tun.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
veth.c
virtio_net.c net: Use kmemdup instead of kmalloc and memcpy 2016-12-29 11:37:14 -05:00
vrf.c net: vrf: Add missing Rx counters 2017-01-03 18:51:40 -05:00
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
xen-netfront.c xen: features and fixes for 4.10 rc0 2016-12-13 16:07:55 -08:00