android_kernel_xiaomi_sm8350/drivers/net
Roland Dreier 2e61c646ed mlx4_core: Use mmiowb() to avoid firmware commands getting jumbled up
Firmware commands are sent to the HCA by writing multiple words to a
command register block.  Access to this block of registers is
serialized with a mutex.  However, on large SGI systems writes to the
register block may be reordered within the system interconnect and
reach the HCA in a different order than they were issued (even with
the mutex).  Fix this by adding an mmiowb() before dropping the mutex.

This bug was observed with real workloads with the similar FW command
code in the mthca driver, and adding the mmiowb() as in commit
66547550 ("IB/mthca: Use mmiowb() to avoid firmware commands getting
jumbled up") was confirmed to fix the problems, so we should add the
same fix to mlx4.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-10-09 19:59:18 -07:00
..
appletalk
arcnet
arm [ARM] rpc: silence two section mismatch warnings 2007-07-20 09:39:56 +01:00
atl1 atl1: disable broken 64-bit DMA 2007-09-12 23:54:50 -04:00
bonding [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
chelsio
cris
cxgb3 - cxgb3 engine microcode load 2007-08-31 07:29:08 -04:00
e1000 e1000: Add device IDs of blade version of the 82571 quad port 2007-09-27 23:38:35 -04:00
ehea ehea: fix last_rx update 2007-09-13 00:13:51 -04:00
fec_8xx Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
fs_enet Use menuconfig objects II - netdev (general+100mbit) 2007-07-08 22:16:40 -04:00
hamradio bpqether: fix rcu usage 2007-07-31 15:39:40 -07:00
ibm_emac
irda [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver 2007-08-26 18:35:44 -07:00
ixgb [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ixp2000 [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
mlx4 mlx4_core: Use mmiowb() to avoid firmware commands getting jumbled up 2007-10-09 19:59:18 -07:00
myri10ge myri10ge: Add support for PCI device id 9 2007-09-19 16:22:09 -04:00
netxen netxen: fix crashes during module unload 2007-08-31 06:52:57 -04:00
pcmcia Revert "drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo" 2007-09-25 00:11:34 -04:00
phy phy: export phy_mii_ioctl 2007-09-20 02:35:50 -04:00
sk98lin sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
skfp Typo fixes errror -> error 2007-07-31 15:39:42 -07:00
tokenring drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
tulip DDB5477: remove driver bits of support 2007-07-31 15:39:38 -07:00
usb dm9601: Fix receive MTU 2007-10-02 12:59:10 -04:00
wan [WAN] drivers/net/wan/hdlc_fr.c: kmalloc + memset conversion to kzalloc 2007-08-13 22:52:11 -07:00
wireless [PATCH] bcm43xx: Correct printk with PFX before KERN_ 2007-10-02 17:04:22 -04:00
3c59x.c 3c59x: fix duplex configuration 2007-08-14 01:38:37 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
3c523.h
3c527.c
3c527.h
7990.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
7990.h
8139cp.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8139too.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
8390.c
8390.h AX88796 network driver 2007-07-10 12:41:08 -04:00
82596.c netdev: i82596 Ethernet needs <asm/cacheflush.h> 2007-07-24 16:28:42 -04:00
a2065.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c drivers/net/acenic.c: fix check-after-use 2007-07-24 16:28:41 -04:00
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
au1000_eth.h
ax88796.c ax88796 printk fixes 2007-08-14 01:34:53 -04:00
b44.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
b44.h b44: packet offset is constant 2007-07-08 22:16:40 -04:00
bfin_mac.c Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) 2007-07-25 14:09:54 +08:00
bfin_mac.h Blackfin ethernet driver: on chip ethernet MAC controller driver 2007-07-18 18:38:25 -04:00
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c [BNX2]: Add PHY workaround for 5709 A1. 2007-09-20 12:14:21 -07:00
bnx2.h [BNX2]: Support NVRAM on 5709. 2007-07-18 01:46:46 -07:00
bsd_comp.c [NET]: Avoid pointless allocation casts in BSD compression module 2007-08-26 18:35:45 -07:00
cassini.c PCI: add pci_try_set_mwi 2007-07-11 16:02:11 -07:00
cassini.h
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c defxx: Use __maybe_unused rather than a local hack 2007-07-24 16:28:41 -04:00
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
dl2k.h PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
dm9000.c DM9000: fix interface hang under load 2007-08-25 02:31:04 -04:00
dm9000.h
dummy.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
e100.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
e2100.c
eepro100.c [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails 2007-07-17 16:17:59 -04:00
eepro.c
eexpress.c
eexpress.h
epic100.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
eql.c [EQL]: sparse warning fix 2007-08-26 18:35:38 -07:00
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
fec.c setup and detect 2nd phy on MCF5275 in FEC driver 2007-07-30 10:52:09 -07:00
fec.h
forcedeth.c fix realtek phy id in forcedeth 2007-08-25 02:30:57 -04:00
gianfar_ethtool.c
gianfar_mii.c gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_mii.h gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_sysfs.c
gianfar.c Fix RGMII-ID handling in gianfar 2007-07-18 18:29:37 -04:00
gianfar.h gianfar: add support for SGMII 2007-07-08 22:16:38 -04:00
hamachi.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c drivers/net/ibmveth.c: memset fix 2007-08-07 17:36:20 -04:00
ibmveth.h ibmveth: Fix rx pool deactivate oops 2007-08-07 17:34:13 -04:00
ifb.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
ioc3-eth.c IOC3: Program UART predividers. 2007-08-31 06:52:57 -04:00
isa-skeleton.c
iseries_veth.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
jazzsonic.c
Kconfig sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
lance.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
lasi_82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lguest_net.c lguest: documentation VII: FIXMEs 2007-07-26 11:35:17 -07:00
lib8390.c lib8390: comment on locking by Alan Cox 2007-07-30 15:47:20 -04:00
lib82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
LICENSE.SRC
lne390.c
loopback.c [NET] loopback: Panic if registration fails 2007-07-31 02:28:14 -07:00
lp486e.c
mac89x0.c mac89x0: missing __init 2007-07-20 08:24:49 -07:00
mac8390.c
macb.c macb: Add multicast capability 2007-07-16 18:28:04 -04:00
macb.h macb: Use generic PHY layer 2007-07-16 18:28:04 -04:00
mace.c
mace.h
macmace.c macmace: use "unsigned long flags;" 2007-07-10 12:41:18 -04:00
macsonic.c
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
Makefile sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
meth.c Don't use GFP_DMA for zone allocation. 2007-08-25 02:30:59 -04:00
meth.h
mii.c
mipsnet.c
mipsnet.h
mv643xx_eth.c mv643xx_eth: Do not modify struct netdev tx_queue_len 2007-10-02 12:55:10 -04:00
mv643xx_eth.h mv643xx_eth: Check ETH_INT_CAUSE_STATE bit 2007-09-29 00:46:30 -04:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c natsemi: fix netdev error acounting 2007-08-14 01:36:39 -04:00
ne2.c
ne2k-pci.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni52.h
ni65.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni65.h
ni5010.c NI5010: Handle multicast frames. 2007-07-18 18:29:38 -04:00
ni5010.h
ns83820.c NS83820: Handle multicast frames. 2007-07-18 18:29:37 -04:00
pasemi_mac.c pasemi_mac: Fix TX interrupt threshold 2007-07-08 22:16:45 -04:00
pasemi_mac.h
pci-skeleton.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
pcnet32.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
plip.c
ppp_async.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_deflate.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_generic.c [PPP] generic: Fix receive path data clobbering & non-linear handling 2007-09-16 16:22:13 -07:00
ppp_mppe.c [PPP_MPPE]: Don't put InterimKey on the stack 2007-09-25 23:05:39 -07:00
ppp_mppe.h
ppp_synctty.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pppoe.c [PPP] pppoe: Fix double-free on skb after transmit failure 2007-09-20 12:14:16 -07:00
pppol2tp.c [PPP] L2TP: Fix skb handling in pppol2tp_xmit 2007-09-20 12:14:18 -07:00
pppox.c [PPPoX/E]: return ENOTTY on unknown ioctl requests 2007-07-31 02:28:22 -07:00
ps3_gelic_net.c PS3: fix the bug that 'ifconfig down' would hang 2007-08-31 06:52:57 -04:00
ps3_gelic_net.h ps3: reduce allocation size of rx skb buffers 2007-07-24 16:28:41 -04:00
qla3xxx.c qla3xxx: bugfix: Fix VLAN rx completion handling. 2007-10-02 12:55:10 -04:00
qla3xxx.h
r8169.c r8169: revert part of 6dccd16b7c 2007-10-05 14:05:48 -04:00
rionet.c
rrunner.c rrunner.c:rr_init() must be __devinit 2007-07-10 12:24:42 -04:00
rrunner.h
s2io-regs.h S2io: Mask spurious interrupts 2007-07-30 15:56:04 -04:00
s2io.c fix s2io regression 2007-08-03 15:10:44 -07:00
s2io.h S2IO: Checking for the return value of pci map function 2007-07-30 15:56:04 -04:00
saa9730.c SAA9730: Handle multicast frames. 2007-07-18 18:29:38 -04:00
saa9730.h
sb1000.c
sb1250-mac.c potential compiler error, irqfunc caller sites update 2007-07-06 10:23:43 -07:00
sc92031.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c sgiseeq: Fix return type of sgiseeq_remove 2007-08-25 02:31:13 -04:00
sgiseeq.h
shaper.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sis190.c sis190 check for ISA bridge on SiS966 2007-08-07 17:18:32 -04:00
sis900.c sis900_mii_probe() must be __devinit 2007-07-10 12:24:42 -04:00
sis900.h
skge.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
skge.h
sky2.c sky2: jumbo frame regression fix 2007-10-03 13:39:42 -04:00
sky2.h sky2: be more selective about FIFO watchdog 2007-09-25 00:04:17 -04:00
slhc.c
slip.c [SLIP]: trivial sparse warning fix 2007-08-26 18:35:39 -07:00
slip.h
smc91x.c
smc91x.h net: smc91x: Build fixes for general sh boards. 2007-08-07 17:18:31 -04:00
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
sonic.c
sonic.h
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
spider_net_ethtool.c
spider_net.c spidernet: fix interrupt reason recognition 2007-09-13 00:16:31 -04:00
spider_net.h spidernet: Replace literal with const 2007-07-08 22:16:45 -04:00
starfire_firmware.h
starfire_firmware.pl
starfire.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
stnic.c
sun3_82586.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sun3_82586.h
sun3lance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.h
sundance.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sunhme.h
sunlance.c [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. 2007-07-30 18:23:39 -07:00
sunqe.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunqe.h
sunvnet.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sunvnet.h [SPARC64]: Add proper multicast support to VNET driver. 2007-07-20 17:14:30 -07:00
tc35815.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
tg3.c [TG3]: Workaround MSI bug on 5714/5780. 2007-09-11 10:28:44 +02:00
tg3.h [TG3]: Fix msi issue with kexec/kdump. 2007-07-18 21:49:10 -07:00
tlan.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c [NET]: Allow group ownership of TUN/TAP devices. 2007-07-10 22:16:42 -07:00
typhoon-firmware.h
typhoon.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
typhoon.h
ucc_geth_ethtool.c ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c 2007-08-03 16:08:15 +08:00
ucc_geth_mii.c ucc_geth: fix section mismatch 2007-08-03 16:07:58 +08:00
ucc_geth_mii.h
ucc_geth.c ucc_geth: fix compilation 2007-09-15 19:32:01 -04:00
ucc_geth.h ucc_geth: add ethtool support 2007-07-24 16:28:38 -04:00
via-rhine.c via-rhine: disable rx_copybreak on archs that don't allow unaligned DMA access 2007-08-14 01:27:10 -04:00
via-velocity.c in-string typos of "error" 2007-07-31 15:39:40 -07:00
via-velocity.h
wd.c
xen-netfront.c xen-netfront: Avoid deref'ing skbafter it is potentially freed. 2007-08-14 01:51:09 -04:00
yellowfin.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
znet.c
zorro8390.c