David S. Miller
8cc574a3c5
[SCSI]: Fix scsi_send_eh_cmnd scatterlist handling
...
This fixes a regression caused by commit:
2dc611de5a
The sense buffer code in scsi_send_eh_cmnd was changed to use
alloc_page() and a scatter list, but the sense data copy was not
updated to match so what we actually get in the sense buffer is total
grabage starting with the kernel address of the struct page we got.
Basically the stack frame of scsi_send_eh_cmd() is what ends up
in the sense buffer.
Depending upon how pointers look on a given platform, you can
end up getting sr_ioctl.c errors when you mount a cdrom. If
the CDROM gives a check condition for GPCMD_GET_CONFIGURATION issued
by drivers/cdrom/cdrom.c:cdrom_mmc_profile(), sr_ioctl will
spit out this error message in sr_do_ioctl() with the way pointers
are on sparc64:
default:
printk(KERN_ERR "%s: CDROM (ioctl) error, command: ", cd->cdi.name);
__scsi_print_command(cgc->cmd);
scsi_print_sense_hdr("sr", &sshdr);
err = -EIO;
This is the error Tom Callaway reported in:
http://marc.info/?l=linux-sparc&m=117407453208101&w=2
Anyways, fix this by using page_address(sgl.page) which is OK
because we know this is low-mem due to GFP_ATOMIC.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Christoph Hellwig <hch@lst.de>
2007-04-02 14:26:22 -07:00
..
aacraid
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
aic7xxx
[SCSI] aic79xx: remove extra newline from info message
2007-02-16 10:13:53 -06:00
aic7xxx_old
aic94xx
[SCSI] aic94xx: tie driver to the major number of the sequencer firmware
2007-02-16 09:43:31 -06:00
arcmsr
[PATCH] Scheduled removal of SA_xxx interrupt flags fixups
2007-02-14 08:09:54 -08:00
arm
[ARM] ARM SCSI: Don't try to dma_map_sg too many scatterlist entries
2007-03-04 20:33:31 +00:00
dpt
[PATCH] lockdep: annotate DECLARE_WAIT_QUEUE_HEAD
2006-10-30 12:08:40 -08:00
ibmvscsi
[PATCH] Scheduled removal of SA_xxx interrupt flags fixups
2007-02-14 08:09:54 -08:00
libsas
[SCSI] libsas: Add an LU reset mechanism to the error handler
2007-02-03 08:15:55 -06:00
lpfc
[SCSI] lpfc: avoid double-free during PCI error failure
2007-03-11 10:42:17 -05:00
megaraid
[SCSI] megaraid_sas: update version and author info
2007-02-16 10:44:12 -06:00
pcmcia
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
qla2xxx
[SCSI] qla2xxx: Update version number to 8.01.07-k5.
2007-01-31 11:26:43 -06:00
qla4xxx
[PATCH] Scheduled removal of SA_xxx interrupt flags fixups
2007-02-14 08:09:54 -08:00
sym53c8xx_2
Fix misspellings of "agressive".
2007-02-17 19:20:16 +01:00
.gitignore
3w-9xxx.c
[PATCH] mark struct file_operations const 6
2007-02-12 09:48:45 -08:00
3w-9xxx.h
[SCSI] 3ware 9000 add support for 9650SE
2006-11-09 14:27:57 +09:00
3w-xxxx.c
[PATCH] mark struct file_operations const 6
2007-02-12 09:48:45 -08:00
3w-xxxx.h
[SCSI] 3ware 8000 serialize reset code
2007-01-06 09:18:00 -06:00
53c7xx.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-02-11 11:44:25 -08:00
53c7xx.h
53c7xx.scr
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c700.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
53c700.h
[SCSI] 53c700: Allow setting burst length
2007-01-13 13:44:30 -06:00
53c700.scr
53c700_d.h_shipped
a100u2w.c
drivers/scsi/a100u2w.c: trivial typo patch
2007-02-17 19:18:52 +01:00
a100u2w.h
a2091.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
a2091.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
a3000.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
a3000.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
advansys.c
[SCSI] advansys: clean up warnings
2007-02-07 18:32:18 -05:00
advansys.h
aha152x.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
aha152x.h
aha1542.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
aha1542.h
aha1740.c
[SCSI] SCSI/aha1740: handle SCSI API errors
2006-11-15 16:38:58 -06:00
aha1740.h
aic7xxx_old.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
amiga7xx.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
amiga7xx.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atari_dma_emul.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atari_NCR5380.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atari_scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
atari_scsi.h
atp870u.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
atp870u.h
blz1230.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
blz2060.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
BusLogic.c
[SCSI] BusLogic: Replace 'boolean' by 'bool'
2007-02-07 18:32:29 -05:00
BusLogic.h
[SCSI] BusLogic: Replace 'boolean' by 'bool'
2007-02-07 18:32:29 -05:00
bvme6000.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
bvme6000.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
ch.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
constants.c
cyberstorm.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
cyberstormII.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
dc395x.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
dc395x.h
dec_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
dmx3191d.c
[SCSI] pci_module_init conversion in scsi subsystem
2006-09-26 11:35:32 -07:00
dpt_i2o.c
[PATCH] mark struct file_operations const 6
2007-02-12 09:48:45 -08:00
dpti.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
dtc.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
dtc.h
eata.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
eata_generic.h
[SCSI] eata_pio cleanup and PCI fix
2006-09-23 20:28:19 -05:00
eata_pio.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
eata_pio.h
esp.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
esp.h
fastlane.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
fcal.c
fcal.h
fd_mcs.c
[SCSI] minor bug fixes and cleanups
2006-11-15 16:41:27 -06:00
fdomain.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
2006-10-25 20:22:55 -07:00
fdomain.h
FlashPoint.c
[SCSI] BusLogic: Replace 'boolean' by 'bool'
2007-02-07 18:32:29 -05:00
g_NCR5380.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c
[SCSI] gdth: fix oops in gdth_copy_cmd()
2007-03-11 10:58:49 -05:00
gdth.h
[SCSI] drivers/scsi/gdth.h: removal of old scsi code
2006-09-26 11:35:16 -07:00
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gvp11.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
gvp11.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
hosts.c
[SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs
2006-11-25 13:08:56 -06:00
hptiop.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
hptiop.h
ibmmca.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
ibmmca.h
ide-scsi.c
ide: remove ide_drive_t.usage
2007-02-17 02:40:24 +01:00
imm.c
WorkStruct: make allyesconfig
2006-11-22 14:57:56 +00:00
imm.h
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
in2000.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
in2000.h
initio.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
initio.h
ipr.c
PCI: remove duplicate device id from ipr
2007-02-07 15:50:06 -08:00
ipr.h
[SCSI] ipr: Driver version 2.3.1
2007-01-27 09:26:36 -06:00
ips.c
[SCSI] revert "[SCSI] ips soft lockup during reset/initialization"
2006-11-15 16:40:50 -06:00
ips.h
[SCSI] ips: fix soft lockup during reset initialization
2006-11-15 16:43:30 -06:00
iscsi_tcp.c
[PATCH] iscsi endianness annotations
2007-02-09 09:14:07 -08:00
iscsi_tcp.h
Merge mulgrave-w:git/scsi-misc-2.6
2006-09-23 15:33:43 -05:00
jazz_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
Kconfig
fix SCSI_SCAN_ASYNC help text
2007-02-17 19:36:33 +01:00
lasi700.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
libiscsi.c
[PATCH] iscsi endianness annotations
2007-02-09 09:14:07 -08:00
libsrp.c
[SCSI] scsi tgt: SCSI RDMA Protocol library functions
2006-12-03 09:27:33 -06:00
mac53c94.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
mac53c94.h
mac_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
mac_scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mac_scsi.h
Makefile
[SCSI] SNI RM 53c710 driver
2007-01-13 13:49:58 -06:00
mca_53c9x.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
megaraid.c
[SCSI] megaraid: pci_module_init to pci_register_driver
2007-02-16 09:41:45 -06:00
megaraid.h
[SCSI] megaraid: fix MMIO casts
2006-12-05 10:25:35 -06:00
mesh.c
[PATCH] fix mesh compile errors after irq changes
2006-10-06 12:11:08 -07:00
mesh.h
mvme16x.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mvme16x.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
mvme147.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mvme147.h
[SCSI] wd33c93: Scsi_Cmnd convertion
2006-09-12 17:12:31 -05:00
ncr53c8xx.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2006-12-05 16:09:46 -08:00
ncr53c8xx.h
Fix misc .c/.h comment typos
2006-11-30 05:24:39 +01:00
NCR53C9x.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
NCR53C9x.h
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
NCR53c406a.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
NCR5380.c
WorkStruct: make allyesconfig
2006-11-22 14:57:56 +00:00
NCR5380.h
WorkStruct: make allyesconfig
2006-11-22 14:57:56 +00:00
NCR_D700.c
[SCSI] NCR_D700: fix compile error
2007-01-27 09:28:58 -06:00
NCR_D700.h
NCR_Q720.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
NCR_Q720.h
nsp32.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
nsp32.h
[SCSI] drivers/scsi/nsp32.h: removal of old scsi code
2006-09-26 10:39:00 -07:00
nsp32_debug.c
nsp32_io.h
oktagon_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
oktagon_io.S
osst.c
Replace remaining references to "driverfs" with "sysfs".
2007-02-17 19:13:42 +01:00
osst.h
[PATCH] osst endianness annotations
2007-02-09 09:14:07 -08:00
osst_detect.h
osst_options.h
pas16.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
pas16.h
pci2000.h
pluto.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
pluto.h
ppa.c
WorkStruct: make allyesconfig
2006-11-22 14:57:56 +00:00
ppa.h
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
psi240i.c
[SCSI] psi240i.c: fix an array overrun
2006-11-10 10:01:42 +09:00
psi240i.h
[SCSI] Scsi_Cmnd conversion in psi240i driver
2006-10-25 15:12:38 -07:00
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
qla1280.h
qlogicfas.c
qlogicfas408.c
[SCSI] Scsi_Cmnd conversion in qlogicfas408 driver
2006-10-25 15:11:55 -07:00
qlogicfas408.h
[SCSI] Scsi_Cmnd conversion in qlogicfas408 driver
2006-10-25 15:11:55 -07:00
qlogicpti.c
[SPARC]: Fix some section mismatch warnings in sparc drivers.
2006-10-17 19:28:51 -07:00
qlogicpti.h
qlogicpti_asm.c
[SPARC]: Fix some section mismatch warnings in sparc drivers.
2006-10-17 19:28:51 -07:00
raid_class.c
[SCSI] raid class: handle component-add errors
2006-10-04 13:27:26 -05:00
script_asm.pl
scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
scsi.h
scsi_debug.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
scsi_debug.h
scsi_devinfo.c
[SCSI] scsi_devinfo: scsi2 HP and Hitachi entries
2006-10-01 15:09:19 -05:00
scsi_error.c
[SCSI]: Fix scsi_send_eh_cmnd scatterlist handling
2007-04-02 14:26:22 -07:00
scsi_ioctl.c
scsi_lib.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-02-11 11:44:25 -08:00
scsi_logging.h
scsi_module.c
scsi_netlink.c
[SCSI] SCSI and FC Transport: add netlink support for posting of transport events
2006-09-02 15:33:49 -05:00
scsi_priv.h
[SCSI] scsi_error.c: Export some scsi_eh_* functions
2007-01-27 10:06:34 -06:00
scsi_proc.c
[SCSI] scsi_proc.c: display sdev->scsi_level correctly
2007-02-16 11:12:07 -06:00
scsi_sas_internal.h
scsi_scan.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
2007-02-19 13:32:28 -08:00
scsi_sysctl.c
[PATCH] sysctl: remove insert_at_head from register_sysctl
2007-02-14 08:09:59 -08:00
scsi_sysfs.c
[PATCH] sysfs and driver core: add callback helper, used by SCSI and S390
2007-03-15 15:29:26 -07:00
scsi_tgt_if.c
[SCSI] tgt: fix the user/kernel ring buffer interface
2007-02-16 09:40:56 -06:00
scsi_tgt_lib.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
scsi_tgt_priv.h
[SCSI] scsi tgt: scsi target lib functionality
2006-11-25 13:17:18 -06:00
scsi_transport_api.h
scsi_transport_fc.c
Fix typos concerning hierarchy
2007-02-17 19:23:03 +01:00
scsi_transport_iscsi.c
[SCSI] iscsi: newline in printk
2007-01-06 09:00:37 -06:00
scsi_transport_sas.c
Fix typos concerning hierarchy
2007-02-17 19:23:03 +01:00
scsi_transport_spi.c
[SCSI] spi transport class: export spi_dv_pending
2007-02-02 20:44:25 -06:00
scsi_typedefs.h
scsi_wait_scan.c
[SCSI] Add ability to scan scsi busses asynchronously
2006-10-11 13:44:25 -05:00
scsicam.c
sd.c
USB Storage: indistinguishable devices with broken and unbroken firmware
2007-02-16 15:32:19 -08:00
seagate.c
[SCSI] seagate: remove BROKEN tag
2007-01-03 16:57:38 -06:00
sg.c
[SCSI] sg: fix incorrect last scatg length
2006-11-09 14:28:01 +09:00
sgiwd93.c
[SCSI] sgiwd93: interfacing to wd33c93
2007-02-16 09:38:12 -06:00
sim710.c
[SCSI] 53c700: Allow setting burst length
2007-01-13 13:44:30 -06:00
sni_53c710.c
[SCSI] SNI RM 53c710 driver
2007-01-13 13:49:58 -06:00
sr.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sr.h
sr_ioctl.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sr_vendor.c
[PATCH] getting rid of all casts of k[cmz]alloc() calls
2006-12-13 09:05:58 -08:00
st.c
Replace remaining references to "driverfs" with "sysfs".
2007-02-17 19:13:42 +01:00
st.h
[SCSI] st: fix Tape dies if wrong block size used, bug 7919
2007-02-03 08:05:47 -06:00
st_options.h
stex.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sun3_NCR5380.c
[PATCH] m68k trivial build fixes
2006-12-17 10:21:53 -08:00
sun3_scsi.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sun3_scsi.h
[PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again
2006-12-09 09:41:18 -08:00
sun3_scsi_vme.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sun3x_esp.c
[TC] dec_esp: Driver model for the PMAZ-A
2007-02-09 16:23:17 +00:00
sym53c416.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
sym53c416.h
t128.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
t128.h
[SCSI] scsi: t128 scsi_cmnd convertion
2006-11-15 16:43:50 -06:00
tmscsim.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
tmscsim.h
u14-34f.c
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
ultrastor.c
Various drivers' irq handlers: kill dead code, needless casts
2006-10-06 15:00:58 -04:00
ultrastor.h
[SCSI] scsi-driver ultrastore replace Scsi_Cmnd with struct scsi_cmnd
2006-09-07 12:39:34 -05:00
wd33c93.c
[SCSI] wd33c93: Fast SCSI with WD33C93B
2007-02-16 09:22:11 -06:00
wd33c93.h
[SCSI] wd33c93: Fast SCSI with WD33C93B
2007-02-16 09:22:11 -06:00
wd7000.c
[PATCH] Use linux/io.h instead of asm/io.h
2006-10-11 11:14:23 -07:00
zalon.c