linux/include
Stefan Richter d2886ea368 scsi: sd: optionally set power condition in START STOP UNIT
Adds a new scsi_device flag, start_stop_pwr_cond:  If enabled, the sd
driver will not send plain START STOP UNIT commands but ones with the
power condition field set to 3 (standby) or 1 (active) respectively.

Some FireWire disk firmwares do not stop the motor if power condition is
zero.  Or worse, they become unresponsive after a START STOP UNIT with
power condition = 0 and start = 0.

http://lkml.org/lkml/2008/4/29/704

This patch only adds the necessary code to sd_mod but doesn't activate
it.  Follow-up patches to the FireWire drivers will add detection of
affected devices and enable the code for them.

I did not add power condition values to scsi_error.c::scsi_eh_try_stu()
for now.  The three firmwares which suffer from above mentioned problems
do not need START STOP UNIT in the error handler, and they are not
adversely affected by START STOP UNIT with power condition = 0 and start
= 1 (like scsi_eh_try_stu() sends it if scsi_device.allow_restart is
enabled).

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Tested-by: Tino Keitel <tino.keitel@gmx.de>
2008-07-14 13:00:17 +02:00
..
acpi
asm-alpha alpha: fix compile error in arch/alpha/mm/init.c 2008-06-23 18:26:04 -07:00
asm-arm [ARM] 5091/1: Add missing bitfield include to regs-lcd.h 2008-06-12 20:49:38 +01:00
asm-avr32 Fix name of Russell King in various comments 2008-07-10 18:04:43 -07:00
asm-blackfin Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. 2008-06-19 17:46:39 +08:00
asm-cris
asm-frv frv: fix irqs_disabled() to return an int, not an unsigned long 2008-07-12 14:33:42 -07:00
asm-generic Christoph has moved 2008-07-04 10:40:04 -07:00
asm-h8300
asm-ia64 [IA64] Fix CONFIG_IA64_SGI_UV build error 2008-06-16 09:02:03 -07:00
asm-m32r
asm-m68k m68k: Add ext2_find_{first,next}_bit() for ext4 2008-06-12 18:05:39 -07:00
asm-m68knommu
asm-mips [MIPS] Fix bug in atomic_sub_if_positive. 2008-07-04 08:22:15 +01:00
asm-mn10300
asm-parisc parisc: fix miscompilation of ip_fast_csum with gcc >= 4.3 2008-06-13 10:49:56 -04:00
asm-powerpc Correct hash flushing from huge_ptep_set_wrprotect() 2008-07-08 09:27:58 -07:00
asm-ppc
asm-s390 [S390] protect _PAGE_SPECIAL bit against mprotect 2008-07-08 11:31:15 +02:00
asm-sh
asm-sparc
asm-sparc64
asm-um
asm-v850
asm-x86 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-07-12 14:34:31 -07:00
asm-xtensa
crypto
keys
linux Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-10 17:58:47 -07:00
math-emu
media V4L/DVB (8092): videodev: simplify and fix standard enumeration 2008-06-26 15:58:57 -03:00
mtd
net net-sched: change tcf_destroy_chain() to clear start of filter list 2008-07-01 19:52:38 -07:00
pcmcia
rdma
rxrpc
scsi scsi: sd: optionally set power condition in START STOP UNIT 2008-07-14 13:00:17 +02:00
sound
video
xen x86: Make xen use the paravirt clocksource structs and functions 2008-06-24 21:02:32 +03:00
Kbuild