android_kernel_xiaomi_sm8350/drivers
Michael Chan afdc08b9f9 [BNX2]: Fix rtnl deadlock in bnx2_close
This fixes an rtnl deadlock problem when flush_scheduled_work() is
called from bnx2_close(). In rare cases, linkwatch_event() may be on
the workqueue from a previous close of a different device and it will
try to get the rtnl lock which is already held by dev_close().

The fix is to set a flag if we are in the reset task which is run
from the workqueue. bnx2_close() will loop until the flag is cleared.
As suggested by Jeff Garzik, the loop is changed to call msleep(1)
instead of yield() in the original patch.

flush_scheduled_work() is also moved to bnx2_remove_one() before the
netdev is freed.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 16:10:29 -07:00
..
acorn [PATCH] ARM: switch fd1772.c from sleep_on to wait_event 2005-08-07 14:23:42 +01:00
acpi [PATCH] acpi_shutdown: Only prepare for power off on power_off 2005-08-27 10:11:40 -07:00
atm [NET]: Store skb->timestamp as offset to a base timestamp 2005-08-29 15:58:24 -07:00
base [PATCH] Fix manual binding infinite loop 2005-08-17 22:02:25 -07:00
block [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
bluetooth [Bluetooth]: Move packet type into the SKB control buffer 2005-08-29 15:55:13 -07:00
cdrom [PATCH] Update CREDITS entry and listings in source files for Jesper Juhl 2005-07-27 16:26:20 -07:00
char [RANDOM]: Introduce secure_dccp_sequence_number 2005-08-29 15:49:40 -07:00
cpufreq Here are two possible cleanups in cpufreq.c: 2005-07-28 09:43:56 -07:00
crypto
dio
eisa
fc4 [SCSI] fc4 warning fix 2005-07-30 09:47:53 -05:00
firmware [PATCH] PCDP: if PCDP contains parity information, use it 2005-07-28 08:39:02 -07:00
hwmon [PATCH] I2C hwmon: kfree fixes 2005-08-26 19:37:12 -07:00
i2c [PATCH] Build fix for the Sibyte I2C driver 2005-08-09 12:08:21 -07:00
ide [PATCH] serverworks: add support for new southbridge IDE 2005-08-18 22:30:35 +02:00
ieee1394 [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
infiniband [PATCH] IB: move include files to include/rdma 2005-08-26 20:37:38 -07:00
input [PATCH] ns558 list handling fix 2005-08-10 11:03:02 -07:00
isdn [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
macintosh [PATCH] Kconfig fix (PMAC_BACKLIGHT on ppc64) 2005-08-23 18:43:40 -07:00
mca
md [PATCH] md: clear the 'recovery' flags when starting an md array. 2005-08-26 19:37:13 -07:00
media [PATCH] missing include in tda80xx 2005-08-29 10:42:39 -07:00
message [PATCH] I2O: added pci_request_regions() before using the controller 2005-08-09 17:59:52 -07:00
mfd [MFD] Add SA11x0 MCP platform device support 2005-08-18 10:10:46 +01:00
misc
mmc [MMC] Use an IDR for host name indicies 2005-08-19 09:42:52 +01:00
mtd [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
net [BNX2]: Fix rtnl deadlock in bnx2_close 2005-08-29 16:10:29 -07:00
nubus
oprofile [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
parisc
parport Merge HEAD from master.kernel.org:/home/rmk/linux-2.6-serial.git 2005-08-29 10:34:59 -07:00
pci Ignore disabled ROM resources at setup 2005-08-26 10:49:22 -07:00
pcmcia [PATCH] missing include in pcmcia_resource.c 2005-08-23 18:43:43 -07:00
pnp [PATCH] broken error path in drivers/pnp/card.c 2005-08-18 08:43:59 -07:00
s390 [PATCH] zfcp: bugfix and compile fixes 2005-08-28 13:53:48 -07:00
sbus [SPARC]: envctrl: ERR_PTR() --> PTR_ERR() 2005-08-09 14:43:14 -07:00
scsi Merge /spare/repo/linux-2.6/ 2005-08-29 15:59:42 -04:00
serial Merge HEAD from master.kernel.org:/home/rmk/linux-2.6-serial.git 2005-08-29 10:34:59 -07:00
sh
sn
tc
telephony
usb [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
video [PATCH] Kconfig fix (VGA console on arm/versatile) 2005-08-23 18:43:42 -07:00
w1 [NETLINK]: Add "groups" argument to netlink_kernel_create 2005-08-29 16:01:11 -07:00
zorro
Kconfig [MFD] Add multimedia communication port core support 2005-08-18 10:06:59 +01:00
Makefile [MFD] Add multimedia communication port core support 2005-08-18 10:06:59 +01:00