android_kernel_xiaomi_sm8350/drivers
Lennert Buytenhek ee04448d88 mv643xx_eth: fix SMI bus access timeouts
The mv643xx_eth mii bus implementation uses wait_event_timeout() to
wait for SMI completion interrupts.

If wait_event_timeout() would return zero, mv643xx_eth would conclude
that the SMI access timed out, but this is not necessarily true --
wait_event_timeout() can also return zero in the case where the SMI
completion interrupt did happen in time but where it took longer than
the requested timeout for the process performing the SMI access to be
scheduled again.  This would lead to occasional SMI access timeouts
when the system would be under heavy load.

The fix is to ignore the return value of wait_event_timeout(), and
to re-check the SMI done bit after wait_event_timeout() returns to
determine whether or not the SMI access timed out.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-03 15:23:15 -05:00
..
accessibility
acpi ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y. 2008-10-25 04:07:13 -04:00
amba
ata Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2008-10-28 09:42:48 -07:00
atm
auxdisplay
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block fs: remove prepare_write/commit_write 2008-10-30 11:38:45 -07:00
bluetooth bpa10x: free sk_buff with kfree_skb 2008-10-31 00:40:19 -07:00
cdrom
char Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2008-10-30 12:53:33 -07:00
clocksource
connector
cpufreq
cpuidle Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-23 10:53:02 -07:00
crypto
dca
dio
dma Merge branch 'i7300_idle' into release 2008-10-25 04:07:44 -04:00
edac edac: fix enabling of polling cell module 2008-10-30 11:38:46 -07:00
eisa
firewire firewire: fw-sbp2: fix races 2008-10-26 10:27:01 +01:00
firmware
gpio
gpu Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2008-10-23 10:18:40 -07:00
hid HID: add quirk entry for no-name keyboard (0x13ba/0x0017) 2008-10-30 01:06:13 +01:00
hwmon hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX 2008-10-26 17:04:40 +01:00
i2c i2c-s3c2410: Correct use of ! and & 2008-10-30 15:55:47 +01:00
ide arm ide breakage 2008-10-26 09:35:05 -07:00
idle i7300_idle: Cleanup based review comments 2008-10-24 12:55:14 -04:00
ieee1394
infiniband
input INPUT: sgi_btns: Add license specification 2008-10-27 16:18:28 +00:00
isdn
leds leds: da903x: (da9030 only) led brightness reversed. 2008-10-30 22:14:10 +08:00
lguest
macintosh
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2008-10-30 18:36:16 -07:00
media
memstick
message i2o: fix kernel-doc warnings 2008-10-30 11:38:46 -07:00
mfd mfd: Make WM8400 depend on I2C until SPI is submitted 2008-10-24 18:34:39 +02:00
misc sgi-xp: only build for ia64-sn2 when CONFIG_IA64_GENERIC specified 2008-10-30 11:38:46 -07:00
mmc [ARM] 5322/1: Fix fastpath issue in mmci.c 2008-10-28 00:00:42 +00:00
mtd
net mv643xx_eth: fix SMI bus access timeouts 2008-11-03 15:23:15 -05:00
nubus
of
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile 2008-10-23 10:05:40 -07:00
parisc
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-10-30 12:09:44 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pnp
power
ps3
rapidio
regulator regulator: da903x regulator bug fix 2008-10-30 15:31:35 +00:00
rtc rtc S3C: add device_init_wakeup() invokation 2008-10-30 11:38:47 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-30 11:46:28 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
serial [ARM] build fixes for netX serial driver 2008-10-30 09:41:59 +01:00
sh
sn
spi
ssb
staging staging: pcc_acpi: delete obsolete driver 2008-10-23 15:31:09 -04:00
tc
telephony
thermal
uio
usb tty: Fix USB kref leak 2008-10-30 12:09:07 -07:00
uwb
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-30 16:16:39 -07:00
virtio
w1
watchdog [PATCH] Switch all my contributions stuff to a single common address 2008-10-28 19:16:11 +00:00
xen xen: compilation fix of drivers/xen/events.c on IA64 2008-10-23 21:54:37 +02:00
zorro
Kconfig regulator: Build on non-ARM platforms 2008-10-28 21:47:17 +00:00
Makefile Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-26 16:35:46 -07:00