linux/drivers
Maciej W. Rozycki 6daf653103 PHYLIB: fix an interrupt loop potential when halting
Ensure the PHY_HALTED state is not entered with the IRQ asserted as it
could lead to an interrupt loop.

There is a small window in phy_stop(), where the state of the PHY machine
indicates it has been halted, but its interrupt output might still be
unmasked.  If an interrupt goes active right at this moment it will loop as
the phy_interrupt() handler exits immediately with IRQ_NONE if the halted
state is seen.  It is unsafe to extend the phydev spinlock to cover
phy_interrupt().  It is safe to swap the order of the actions though as all
the competing places to unmask the interrupt output of the PHY, which are
phy_change() and phy_timer() are already covered with the lock as is the
sequence in question.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-10 16:53:55 -07:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi ACPI: CONFIG_ACPI_SLEEP=n power off regression in 2.6.23-rc8 (NOT in rc7) 2007-09-25 17:58:52 -04:00
amba
ata sata_mv: correct S/G table limits 2007-10-09 12:38:26 -07:00
atm [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base Driver core: fix SYSF_DEPRECATED breakage for nested classdevs 2007-10-07 16:42:22 -07:00
block [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
bluetooth [Bluetooth] Add missing stat.byte_rx counter modification 2007-09-09 08:39:27 +02:00
cdrom cdrom_open() forgets to unlock on -EROFS failure exits 2007-09-26 08:20:44 +02:00
char Correct Makefile rule for generating custom keymap 2007-10-08 16:06:51 -07:00
clocksource
connector [NET]: Support multiple network namespaces with netlink 2007-10-10 16:49:09 -07:00
cpufreq
crypto Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
dio
dma [IOAT]: ioatdma needs to to play nice in a multi-dma-client world 2007-08-26 18:35:40 -07:00
edac drivers/edac: fix e752x correct return code 2007-09-11 17:21:19 -07:00
eisa
fc4
firewire firewire: point to migration document 2007-10-07 13:48:41 +02:00
firmware
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon hwmon: End of I/O region off-by-one 2007-09-09 10:38:37 -04:00
i2c i2c-algo-bit: Read block data bugfix 2007-09-09 22:29:14 +02:00
ide Fix non-terminated PCI match table in PowerMac IDE 2007-10-06 09:32:56 -07:00
ieee1394 [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
infiniband [IPoIB]: Convert to netdevice internal stats 2007-10-10 16:53:41 -07:00
input Input: xpad - fix dependancy on LEDS class 2007-09-28 15:38:12 -07:00
isdn [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
kvm KVM: Fix virtualization menu help text 2007-09-22 12:55:18 -07:00
leds
lguest fix modules oopsing in lguest guests 2007-09-25 08:51:04 -07:00
macintosh [POWERPC] Fix undefined reference to device_power_up/resume 2007-08-25 16:58:27 +10:00
mca
md raid5: fix 2 bugs in ops_complete_biofill 2007-09-24 13:23:35 -07:00
media [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
message [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
mfd
misc Pull thinkpad into release branch 2007-09-17 00:58:40 -04:00
mmc bug in AT91 MCI suspend routines 2007-09-11 17:21:51 +02:00
mtd pci: fix unterminated pci_device_id lists 2007-09-19 11:24:17 -07:00
net PHYLIB: fix an interrupt loop potential when halting 2007-10-10 16:53:55 -07:00
nubus
of
oprofile
parisc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci Fix bogus PCI quirk for e100 2007-09-28 16:21:10 -07:00
pcmcia pcmcia: give socket time to power down 2007-07-31 15:39:38 -07:00
pnp PNP: remove SMCf010 quirk 2007-09-11 17:21:19 -07:00
power [PATCH] missing null termination in power supply uevent 2007-09-21 01:22:23 +04:00
ps3
rapidio
rtc rtc: rtc-ds1553.c should use resource_size_t for base address 2007-09-19 11:24:17 -07:00
s390 [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi [NET]: Support multiple network namespaces with netlink 2007-10-10 16:49:09 -07:00
serial Add manufacturer and card id of teltonica pcmcia modems 2007-10-07 16:28:43 -07:00
sh
sn
spi spi_mpc83xx: hang fix 2007-09-11 17:21:19 -07:00
ssb [SSB]: Sparse fixes. 2007-10-10 16:52:21 -07:00
tc
telephony
uio
usb [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
video intelfb: Fix bug in DPLL disable 2007-09-19 11:24:18 -07:00
w1 missing null termination in one wire uevent 2007-09-25 08:51:04 -07:00
xen
zorro zorro: Make sysfs config attribute read-only 2007-08-22 19:52:45 -07:00
Kconfig [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
Makefile [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00