android_kernel_xiaomi_sm8350/drivers/net
Roland Dreier b1186dee3e cxgb3: Fix lockdep problems with sge.reg_lock
Using iWARP with a Chelsio T3 NIC generates the following lockdep warning:

    =================================
    [ INFO: inconsistent lock state ]
    2.6.25-rc6 #50
    ---------------------------------
    inconsistent {softirq-on-W} -> {in-softirq-W} usage.
    swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes:
     (&adap->sge.reg_lock){-+..}, at: [<ffffffff880e5ee2>] cxgb_offload_ctl+0x3af/0x507 [cxgb3]

The problem is that reg_lock is used with plain spin_lock() in
drivers/net/cxgb3/sge.c but is used with spin_lock_irqsave() in
drivers/net/cxgb3/cxgb3_offload.c.  This is technically a false
positive, since the uses in sge.c are only in the initialization and
cleanup paths and cannot overlap with any use in interrupt context.

The best fix is probably just to use spin_lock_irq() with reg_lock in
sge.c.  Even though it's not strictly required for correctness, it
avoids triggering lockdep and the extra overhead of disabling
interrupts is not important at all in the initialization and cleanup
slow paths.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-03-25 23:42:05 -04:00
..
appletalk drivers/net/appletalk/ltpc.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:49:21 -08:00
arcnet drivers/net/arcnet/capmode.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:49:51 -08:00
arm drivers/net/arm/at91_ether.c: logical/bitand typo in function reset_phy() 2008-02-03 04:28:36 -08:00
atl1 drivers/net/atl1/atl1_main.c: remove unused variable 2008-03-17 07:56:57 -04:00
bonding bonding: update version 2008-03-25 23:15:51 -04:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
chelsio annotate chelsio 2008-01-28 15:10:29 -08:00
cris CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash. 2008-02-08 11:16:44 +01:00
cxgb3 cxgb3: Fix lockdep problems with sge.reg_lock 2008-03-25 23:42:05 -04:00
e1000 e1000: warn if this driver is used for e1000e devices 2008-02-11 14:51:40 -05:00
e1000e e1000e: remove unused read value in ASPM disable code. 2008-02-24 00:07:52 -05:00
ehea ehea: Fix IPv6 support 2008-03-25 23:42:05 -04:00
fec_8xx [POWERPC] CPM: Rename commproc to cpm1 and cpm2_common.c to cpm2.c 2008-01-28 08:31:05 -06:00
fs_enet fs_enet: Don't call phy_mii_ioctl() in atomic context. 2008-02-23 23:55:00 -05:00
hamradio mkiss: ax_bump() locking fix 2008-02-15 10:51:51 -05:00
ibm_emac Add dcr_host_t.base in dcr_read()/dcr_write() 2007-10-15 14:29:49 -04:00
ibm_newemac NEWEMAC: Add compatible "ibm,tah" to tah matching table 2008-03-17 08:06:44 -04:00
igb igb trivial annotations 2008-03-25 23:16:03 -04:00
irda Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
ixgb ixgb: remove unused variable 2008-03-25 23:16:09 -04:00
ixgbe ixgbe: fix typo in speed mesage 2008-03-05 06:34:29 -05:00
ixp2000 [NET]: Do not check netif_running() and carrier state in ->poll() 2008-01-08 23:30:09 -08:00
mlx4 mlx4_core: Move table_find from fmr_alloc to fmr_enable 2008-02-14 10:43:48 -08:00
myri10ge annotate myri10ge 2008-01-28 15:10:31 -08:00
netxen netxen: fix rx dropped stats 2008-03-25 23:16:21 -04:00
pcmcia axnet_cs: change debugging level for "Too much work at interrupt" message. 2008-03-05 06:28:49 -05:00
phy Marvell PHY m88e1111 driver fix 2008-03-25 23:16:52 -04:00
sk98lin drivers/net/sk98lin: Add missing "space" 2008-01-28 15:03:58 -08:00
skfp Spelling fixes: lenght->length 2008-02-03 15:42:53 +02:00
tokenring smctr.c: fix logical-bitwise-or confusion 2008-03-25 23:15:32 -04:00
tulip 2.6.25-rc4 de_stop_rxtx polling wrong 2008-03-17 08:11:31 -04:00
usb dm9601: configure MAC to drop invalid (crc/length) packets 2008-03-25 23:41:04 -04:00
wan wan/farsync: copy_from_user() to iomem is wrong 2008-03-17 07:56:29 -04:00
wireless [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning 2008-03-18 17:15:58 -07:00
3c59x.c vortex_up should initialize "err" 2007-10-17 20:23:30 -04:00
3c501.c 3c501: Further coding style fixes 2008-03-17 08:11:03 -04:00
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c [netdrvr] checkpatch cleanups 2008-01-28 15:04:05 -08:00
3c509.c 3c509: PnP resource management fix 2008-01-12 17:41:04 -05:00
3c515.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
3c523.c
3c523.h
3c527.c
3c527.h
7990.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
7990.h
8139cp.c
8139too.c 8139too fix for Dreamcast 2008-02-11 10:29:33 -05:00
8390.c
8390.h
82596.c 82596: free nonexistent resource fix 2007-11-05 17:57:30 -05:00
a2065.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
a2065.h
ac3200.c drivers/net/ac3200.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:50:41 -08:00
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c drivers/net: Add missing "space" 2008-01-28 15:03:59 -08:00
amd8111e.h
apne.c drivers/net/apne.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:50:16 -08:00
ariadne.c Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
ariadne.h Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
at1700.c [netdrvr] checkpatch cleanups 2008-01-28 15:04:05 -08:00
atarilance.c fix drivers/net/atarilance.c compilation 2008-03-05 06:34:32 -05:00
atp.c
atp.h
au1000_eth.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
au1000_eth.h
ax88796.c NET: AX88796 use dev_dbg() instead of printk() 2008-02-03 04:26:09 -08:00
b44.c b44: power down PHY when interface down 2008-01-28 15:09:19 -08:00
b44.h
bfin_mac.c EMAC driver: Fix bug: The clock divisor is set to all ones at reset. 2008-02-03 04:28:51 -08:00
bfin_mac.h EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log 2008-02-03 04:28:48 -08:00
bmac.c
bmac.h
bnx2_fw2.h [BNX2]: Update firmware. 2008-01-31 19:27:17 -08:00
bnx2_fw.h [BNX2]: Update firmware. 2008-01-31 19:27:17 -08:00
bnx2.c [BNX2]: Update version to 1.7.4. 2008-02-23 19:49:48 -08:00
bnx2.h [BNX2]: Disable parallel detect on an HP blade. 2008-02-23 19:48:57 -08:00
bnx2x_fw_defs.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bnx2x_hsi.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bnx2x_init_values.h add bnx2x driver for BCM57710 2008-01-28 15:03:53 -08:00
bnx2x_init.h [BNX2X]: Prevent PCI queue overflow 2008-02-28 11:57:29 -08:00
bnx2x_reg.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bnx2x.c BNX2X: prevent ethtool from setting port type 2008-03-23 03:07:45 -07:00
bnx2x.h [BNX2X]: Fix Xmit bugs 2008-02-28 11:57:55 -08:00
bsd_comp.c
cassini.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
cassini.h [CASSINI]: Fix endianness bug. 2008-01-04 00:47:04 -08:00
cpmac.c cpmac: convert to new Fixed PHY infrastructure 2008-02-05 23:19:03 -06:00
cs89x0.c drivers/net/cs89x0.c: compilation warning fix 2008-02-23 23:55:05 -05:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c [netdrvr] irq handler minor cleanups in several drivers 2008-01-28 15:03:40 -08:00
defxx.c defxx.c: dfx_bus_init() is __devexit not __devinit 2007-10-23 20:18:13 -04:00
defxx.h
depca.c
depca.h
dl2k.c dl2k: the rest 2008-01-18 14:44:33 -05:00
dl2k.h Fix dl2k constants 2008-02-01 20:54:03 +11:00
dm9000.c dm9000: Support promisc and all-multi modes 2008-03-25 23:41:28 -04:00
dm9000.h
dummy.c
e100.c e100: endianness annotations 2008-03-25 23:16:05 -04:00
e2100.c
eepro100.c eepro100 annotations 2008-01-28 15:07:59 -08:00
eepro.c
eexpress.c MAINTAINERS: remove Adam Fritzler, remove his email address in other sources 2008-02-03 16:36:24 +02:00
eexpress.h
enc28j60_hw.h add driver for enc28j60 ethernet chip 2008-01-28 15:08:03 -08:00
enc28j60.c net/enc28j60: oops fix 2008-03-05 18:51:19 -08:00
epic100.c epic100 endianness annotations and fixes 2008-03-17 07:56:38 -04:00
eql.c
es3210.c
eth16i.c define global BIT macro 2007-10-19 11:53:42 -07:00
ewrk3.c
ewrk3.h
fealnx.c Remove long-dead commented-out MODULE_PARM reference. 2007-10-19 23:12:43 +02:00
fec_mpc52xx_phy.c [POWERPC] mpc5200: normalize compatible property bindings 2008-01-26 15:26:01 -07:00
fec_mpc52xx.c [POWERPC] mpc5200: normalize compatible property bindings 2008-01-26 15:26:01 -07:00
fec_mpc52xx.h FEC - fast ethernet controller for mpc52xx 2007-10-29 05:59:10 -04:00
fec.c m68knommu: fix fec driver interrupt races 2008-03-04 08:04:11 -08:00
fec.h
forcedeth.c forcedeth: limit tx to 16 2008-03-17 08:11:07 -04:00
gianfar_ethtool.c
gianfar_mii.c gianfar iomem misannotations 2008-02-15 10:51:53 -05:00
gianfar_mii.h
gianfar_sysfs.c gianfar driver: eliminate compiler warnings and unnecessary macros 2008-01-28 15:05:47 -08:00
gianfar.c gianfar: don't pass NULL dev ptr to DMA ops 2008-02-23 23:57:48 -05:00
gianfar.h gianfar: remove orphan struct. 2007-10-17 20:11:28 -04:00
hamachi.c hamachi endianness fixes 2007-12-14 15:26:15 -05:00
hp100.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c ibmlana_init_one() must be __devinit 2008-02-03 04:26:12 -08:00
ibmlana.h
ibmveth.c Kobject: convert drivers/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:40 -08:00
ibmveth.h
ifb.c [NET] ifb: set separate lockdep classes for queue locks 2008-03-20 17:05:13 -07:00
ioc3-eth.c [IOC3] Fix section missmatch 2008-03-17 08:11:41 -04:00
ipg.c drivers/net/ipg.c: remove unused variable 2008-03-17 07:56:42 -04:00
ipg.h ipg: fix checkpatch reported errors 2008-01-28 15:05:53 -08:00
isa-skeleton.c
iseries_veth.c iSeries: fix section mismatch in iseries_veth 2008-02-05 13:31:08 -05:00
jazzsonic.c Jazzsonic: Fix warning about unused variable. 2007-10-15 14:29:49 -04:00
Kconfig drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry 2008-03-11 15:13:39 -04:00
lance.c
lasi_82596.c
lib8390.c Fix a small number of "memeber" typoes. 2008-02-03 15:12:15 +02:00
lib82596.c LIB82596: correct data types for hardware addresses 2007-12-01 16:38:28 -05:00
LICENSE.SRC
lne390.c
loopback.c [NET]: Remove unused define from loopback driver. 2008-01-28 14:57:25 -08:00
lp486e.c [netdrvr] checkpatch cleanups 2008-01-28 15:04:05 -08:00
mac89x0.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
mac8390.c
macb.c macb: Fix speed setting 2008-02-24 00:07:42 -05:00
macb.h
mace.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
mace.h
macmace.c m68k: fix net drivers after recent get_stats updates 2007-10-13 09:41:03 -07:00
macsonic.c
macvlan.c [MACVLAN]: Setting macvlan_handle_frame_hook to NULL when rtnl_link_register() fails. 2008-01-31 19:28:25 -08:00
Makefile PS3: gelic: Add wireless support for PS3 2008-02-11 10:30:05 -05:00
meth.c [METH]: Fix MAC address handling. 2008-01-08 23:30:00 -08:00
meth.h define global BIT macro 2007-10-19 11:53:42 -07:00
mii.c
mipsnet.c Fix/Rewrite of the mipsnet driver] 2008-02-03 04:28:10 -08:00
mv643xx_eth.c mv643xx_eth: Define module alias for platform device 2008-03-05 06:28:31 -05:00
mvme147.c m68k: fix net drivers after recent get_stats updates 2007-10-13 09:41:03 -07:00
myri_code.h
myri_sbus.c [MYRI_SBUS]: Prevent that myri_do_handshake lies about ticks. 2007-11-13 03:16:17 -08:00
myri_sbus.h
natsemi.c natsemi: section fix 2008-02-09 23:41:08 -08:00
ne2.c
ne2k-pci.c more misannotations: ne2k-pci 2008-03-17 07:56:33 -04:00
ne3210.c
ne-h8300.c netdev: convert non-obvious instances to use ARRAY_SIZE() 2007-10-15 15:57:38 -04:00
ne.c
netconsole.c netconsole: avoid null pointer dereference at show_local_mac() 2008-02-15 02:01:58 -08:00
netx-eth.c [NET]: Fix netx-eth.c compilation. 2008-01-08 23:29:59 -08:00
ni52.c ni52: Remove 278 scripts/checkpatch errors 2008-02-11 10:28:33 -05:00
ni52.h ni52: Remove 278 scripts/checkpatch errors 2008-02-11 10:28:33 -05:00
ni65.c long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
ni65.h
ni5010.c ni5010: kill unused variable 2007-10-23 21:28:40 -04:00
ni5010.h
niu.c [NIU]: More BMAC alt MAC address fixes. 2008-02-20 00:18:09 -08:00
niu.h [NIU]: More BMAC alt MAC address fixes. 2008-02-20 00:18:09 -08:00
ns83820.c NET: ns83820.c remove fastcall macro 2008-01-28 15:07:56 -08:00
pasemi_mac.c pasemi_mac: Disable interface on close 2008-02-03 04:27:55 -08:00
pasemi_mac.h pasemi_mac: add support for setting MTU 2008-02-03 04:27:54 -08:00
pci-skeleton.c pci-skeleton: Misc fixes to build neatly 2008-02-03 04:28:43 -08:00
pcnet32.c pcnet32: Use print_mac 2008-02-11 10:28:31 -05:00
plip.c PLIP driver: convert the semaphore killed_timer_sem to completion 2008-01-28 15:07:20 -08:00
ppp_async.c [PPP]: Remove ptr comparisons to 0 2007-11-12 18:07:31 -08:00
ppp_deflate.c [PPP]: Sparse warning fixes. 2008-01-28 15:11:27 -08:00
ppp_generic.c [PPP]: Sparse warning fixes. 2008-01-28 15:11:27 -08:00
ppp_mppe.c [CRYPTO] users: Fix up scatterlist conversion errors 2007-10-27 00:52:07 -07:00
ppp_mppe.h
ppp_synctty.c [PPP]: Sparse warning fixes. 2008-01-28 15:11:27 -08:00
pppoe.c [PPP]: Sparse warning fixes. 2008-01-28 15:11:27 -08:00
pppol2tp.c [PPPOL2TP]: Fix SMP issues in skb reorder queue handling 2008-03-05 18:40:01 -08:00
pppox.c
ps3_gelic_net.c PS3: gelic: Add wireless support for PS3 2008-02-11 10:30:05 -05:00
ps3_gelic_net.h PS3: gelic: Add wireless support for PS3 2008-02-11 10:30:05 -05:00
ps3_gelic_wireless.c PS3: gelic: change the prefix of the net interface for wireless 2008-03-13 15:57:25 -04:00
ps3_gelic_wireless.h PS3: gelic: Add wireless support for PS3 2008-02-11 10:30:05 -05:00
qla3xxx.c qla3xxx annotations 2008-01-28 15:08:00 -08:00
qla3xxx.h qla3xxx annotations 2008-01-28 15:08:00 -08:00
r6040.c r6040 endianness fixes 2008-03-17 07:56:27 -04:00
r8169.c r8169: fix missing loop variable increment 2008-01-12 17:41:04 -05:00
rionet.c
rrunner.c drivers/net: Add missing "space" 2008-01-28 15:03:59 -08:00
rrunner.h rrunner: use offsetof() instead of homegrown insanity 2007-12-22 22:53:07 -05:00
s2io-regs.h [S2IO]: Support for add/delete/store/restore ethernet addresses 2008-01-28 15:03:52 -08:00
s2io.c make s2io.c:init_tti() static 2008-03-05 07:24:01 -05:00
s2io.h S2io: Fix for LRO Bugs 2008-02-03 04:27:38 -08:00
saa9730.c SAA9730: Fix build 2007-10-15 14:29:48 -04:00
saa9730.h
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c SGISEEQ: fix oops when doing ifconfig down; ifconfig up 2008-01-28 15:08:02 -08:00
sgiseeq.h
sis190.c sis190: read the mac address from the eeprom first 2008-02-23 23:57:47 -05:00
sis900.c drivers/net: Add missing "space" 2008-01-28 15:03:59 -08:00
sis900.h
skge.c skge: MTU changing fix 2007-12-01 16:32:30 -05:00
skge.h skge: add a debug interface 2007-10-16 21:10:29 -04:00
sky2.c sky2: fix LED management 2008-02-24 00:07:39 -05:00
sky2.h sky2: fix LED management 2008-02-24 00:07:39 -05:00
slhc.c [PPP]: Sparse warning fixes. 2008-01-28 15:11:27 -08:00
slip.c slip: Drag kicking and screaming into coding style compliance 2008-01-28 15:04:01 -08:00
slip.h
smc91x.c [NET] smc91x: Make smc91x use IRQ resource trigger flags 2008-01-28 13:13:19 +00:00
smc91x.h smc91x: fix build breakage from the SMC_GET_MAC_ADDR API upgrade 2008-03-25 23:16:11 -04:00
smc911x.c SMC911X: Fix using of dereferenced skb after netif_rx 2007-12-04 14:53:43 -05:00
smc911x.h net: smc911x: shut up compiler warnings 2007-12-14 16:12:42 -05:00
smc9194.c drivers/net: Add missing "space" 2008-01-28 15:03:59 -08:00
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
spider_net.h Make the pr_*() family of macros in kernel.h complete 2007-10-17 08:42:57 -07:00
starfire_firmware.h
starfire_firmware.pl
starfire.c starfire: secton fix 2008-02-09 23:42:17 -08:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c net/sunbmac.c section fix 2008-02-03 04:26:15 -08:00
sunbmac.h
sundance.c sundance: SIOCDEVPRIVATE pollution 2008-01-28 15:03:46 -08:00
sungem_phy.c
sungem_phy.h
sungem.c [SUNGEM]: Fix NAPI assertion failure. 2008-03-23 03:35:12 -07:00
sungem.h sungem endianness annotations 2008-01-28 15:07:10 -08:00
sunhme.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
sunhme.h sunhme endianness annotations 2008-01-28 15:07:09 -08:00
sunlance.c
sunqe.c net/sunqe.c section fix 2008-02-03 04:26:14 -08:00
sunqe.h
sunvnet.c drivers/net/sunvnet.c:print_version() must be __devinit 2008-02-03 04:26:13 -08:00
sunvnet.h
tc35815.c tc35815: Use irq number for tc35815-mac platform device id 2008-01-22 00:35:23 +00:00
tehuti_fw.h
tehuti.c netdev: ARRAY_SIZE() cleanups 2008-01-28 15:03:37 -08:00
tehuti.h
tg3.c [TG3]: Fix build warning on sparc32. 2008-03-20 15:53:15 -07:00
tg3.h [TG3]: Replace some magic 5704S constants 2008-01-28 14:59:32 -08:00
tlan.c tlan: add static to function definitions 2008-02-23 23:57:46 -05:00
tlan.h
tsi108_eth.c Tsi108_eth: Add ethtool support 2008-02-11 14:47:29 -05:00
tsi108_eth.h
tun.c [TUN]: Fix RTNL-locking in tun/tap driver 2008-02-29 12:26:21 -08:00
typhoon-firmware.h
typhoon.c typhoon: section fix 2008-02-09 23:40:34 -08:00
typhoon.h typhoon: trivial endianness annotations 2007-12-22 22:53:06 -05:00
ucc_geth_ethtool.c
ucc_geth_mii.c Fix PHY Lib support for gianfar and ucc_geth 2008-02-06 06:42:04 -05:00
ucc_geth_mii.h ucc_geth: really fix section mismatch 2007-12-17 16:02:20 -05:00
ucc_geth.c ucc_geth: use correct thread number for 10/100Mbps link 2008-03-17 08:11:46 -04:00
ucc_geth.h
veth.c veth: fix dev refcount race 2008-02-20 00:21:47 -08:00
via-rhine.c [netdrvr] via-rhine: Use register offset definition for WOLcgClr 2008-02-24 00:07:37 -05:00
via-velocity.c via-velocity: section fix 2008-02-09 23:41:40 -08:00
via-velocity.h big-endian support for via-velocity 2008-02-03 04:26:27 -08:00
virtio_net.c virtio: fix race in enable_cb 2008-03-17 22:58:21 +11:00
wd.c
xen-netfront.c NULL noise in drivers/net 2008-01-28 15:07:12 -08:00
yellowfin.c yellowfin: annotations and fixes (.24 fodder?) 2007-12-22 22:53:06 -05:00
znet.c
zorro8390.c