1
linux/drivers
Tejun Heo 19b723218b libata: fix last_reset timestamp handling
ehc->last_reset is used to ensure that resets are not issued too
close to each other.  It's initialized to jiffies minus one minute
on EH entry.  However, when new links are initialized after PMP is
probed, new links have zero for this timestamp resulting in long wait
depending on the current jiffies.

This patch makes last_set considered iff ATA_EHI_DID_RESET is set, in
which case last_reset is always initialized.  As an added precaution,
WARN_ON() is added so that warning is printed if last_reset is
in future.

This problem is spotted and debugged by Shane Huang.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Shane Huang <Shane.Huang@amd.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-11 03:01:21 -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 libata: fix last_reset timestamp handling 2008-11-11 03:01:21 -05:00
atm
auxdisplay
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block cciss: fix regression firmware not displayed in procfs 2008-11-06 15:41:18 -08:00
bluetooth bpa10x: free sk_buff with kfree_skb 2008-10-31 00:40:19 -07:00
cdrom gdrom: Fix compile error 2008-10-28 17:46:02 +09:00
char vt: incomplete initialization of vc_tab_stop 2008-11-06 15:41:17 -08:00
clocksource Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus 2008-10-20 13:14:06 +02:00
connector
cpufreq
cpuidle regression: disable timer peek-ahead for 2.6.28 2008-11-09 16:28:42 -08: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: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-31 08:48:25 +01:00
firmware trivial: dmi_scan typo 2008-11-07 08:25:43 -08:00
gpio mfd: twl4030-gpio driver 2008-10-22 01:19:39 +02:00
gpu Merge branch 'io-mappings-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-11-03 10:15:40 -08:00
hid saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
hwmon hwmon: applesmc: add support for iMac 8 2008-11-06 15:41:17 -08:00
i2c i2c-s3c2410: Correct use of ! and & 2008-10-30 15:55:47 +01:00
ide ide-gd: re-get capacity on revalidate 2008-11-02 21:40:10 +01:00
idle i7300_idle: Cleanup based review comments 2008-10-24 12:55:14 -04:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-11-06 15:55:34 -08:00
infiniband saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
input saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
isdn
leds remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
lguest
macintosh
mca
md md: linear: Fix a division by zero bug for very small arrays. 2008-11-06 19:41:24 +11:00
media V4L/DVB (9336): cx88: always de-alloc frontends on fault condition 2008-10-21 14:32:12 -02:00
memstick [PATCH] switch memstick 2008-10-21 07:48:33 -04:00
message trivial: MPT fusion - remove long dead code 2008-11-07 08:25:43 -08:00
mfd missing dependencies on HAVE_CLK in drivers/mfd 2008-11-01 12:40:38 -07:00
misc remove unused #include <version.h>'s 2008-11-01 09:50:12 -07:00
mmc mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
mtd Merge git://git.infradead.org/mtd-2.6 2008-11-06 15:43:13 -08:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-06 16:44:23 -08:00
nubus
of OF-device: Don't overwrite numa_node in device registration 2008-10-31 16:12:01 +11:00
oprofile oprofile: fix memory ordering 2008-10-27 19:15:41 +01:00
parisc [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pci PCI: fix range check on mmapped sysfs resource files 2008-11-03 14:41:16 -08:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-31 16:18:02 +09:00
pnp drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 powerpc/ps3: Fix compile error in ps3-lpm.c 2008-11-05 19:59:08 +11:00
rapidio
regulator regulator: Use menuconfig in Kconfig 2008-11-09 14:49:23 +00:00
rtc rtc-cmos: fix boot log message 2008-11-06 15:41:19 -08: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 drivers: remove duplicated #include 2008-11-04 08:18:19 -08:00
scsi saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
serial atmel_serial: keep clock off when it's not needed 2008-11-06 15:41:19 -08:00
sh
sn
spi
ssb
staging Don't ask twice about not including staging drivers 2008-11-09 12:47:04 -08:00
tc
telephony saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
thermal
uio saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
usb saner FASYNC handling on file close 2008-11-01 09:49:46 -07:00
uwb uwb: wrong sizeof argument in mac address compare 2008-10-20 14:37:53 +01:00
video fbdev: fix fb_compat_ioctl() deadlocks 2008-11-06 15:41:19 -08:00
virtio
w1 x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
watchdog SAM9 watchdog: update for moved headers 2008-11-06 15:41:20 -08:00
xen drivers: remove duplicated #include 2008-11-04 08:18:19 -08: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