summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] remove scsi_set_deviceChristoph Hellwig2005-06-2613-22/+4
| | | | | | | | | | | scsi_add_host is the proper place to set the device, but people copy the scsi_set_device usage from older drivers again and again. note that this leaves some legacy drivers like qlogicisp/qlogicfc without pci association in sysfs, but they're scheduled to go away soon anyway. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] scsi/qla1280: replace schedule_timeout() with ssleep()Nishanth Aravamudan2005-06-261-1/+1
| | | | | | | | | Use ssleep() instead of schedule_timeout to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] drivers/scsi/dpt*: remove version.h dependenciesAdrian Bunk2005-06-252-16/+3
| | | | | | | | This patch removes version.h dependencies. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] drivers/scsi/initio.c: cleanupsAdrian Bunk2005-06-252-67/+36
| | | | | | | | | | | | | This patch contains the following cleanups: - make needlessly global code static - remove or #if 0 the following unused functions: - tul_pop_pend_scb - tul_device_reset - tul_reset_scsi_bus Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] make various thing staticAdrian Bunk2005-06-246-11/+9
| | | | | | | | Another rollup of patches which give various symbols static scope Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] dpt_i2o: fix waitqueue abuseAndrew Morton2005-06-231-12/+5
| | | | | | | | The driver plays with waitqueue internals and fails to compile after Ben's "aio: make wait_queue ->task ->private" patch. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] megaraid build fixbobl2005-06-211-1/+1
| | | | | Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2005-06-2010-58/+68
|\
| * [PATCH] Driver Core: drivers/s390/net/qeth_sys.c - ↵Yani Ioannou2005-06-206-22/+22
| | | | | | | | | | | | | | drivers/usb/gadget/pxa2xx_udc.c: update device attribute callbacks Signed-off-by: Yani Ioannou <yani.ioannou@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] use device_for_each_child() to properly access child devices.gregkh@suse.de2005-06-201-6/+10
| | | | | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [PATCH] Use device_for_each_child() to unregister devices in ↵mochel@digitalimplant.org2005-06-201-5/+9
| | | | | | | | | | | | | | | | | | | | scsi_remove_target(). Signed-off-by: Patrick Mochel <mochel@digitalimplant.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Index: gregkh-2.6/drivers/scsi/scsi_sysfs.c ===================================================================
| * [PATCH] class: convert drivers/scsi/* to use the new class api instead of ↵gregkh@suse.de2005-06-203-25/+27
| | | | | | | | | | | | class_simple Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | aic7xxx/aic79xx_osm: revert completely bogus ahd_linux_queue() patchJeff Garzik2005-06-191-4/+4
|/
* Merge 'upstream-2.6.13' branch of ↵Linus Torvalds2005-06-184-38/+150
|\ | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * Merge /spare/repo/linux-2.6/Jeff Garzik2005-06-183-5/+9
| |\
| * | [PATCH] sata_svw: bump version numberNarendra Sankar2005-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bump sata_svw.c version number to indicate support for BCM5785(HT1000) Southbridge SATA controller. Signed-off-by: Narendra Sankar <nsankar@broadcom.com> diff -uNr linux-2.6.12-rc5/drivers/scsi/sata_svw.c linux-2.6.12-rc5.brcm/drivers/scsi/sata_svw.c
| * | [libata] ahci: finish ATAPI support (hopefully)Jeff Garzik2005-06-041-12/+8
| | |
| * | Merge of /spare/repo/libata-dev branch bridge-detect2005-06-041-2/+33
| |\ \
| | * \ Automatic merge of /spare/repo/linux-2.6/.git branch HEAD2005-06-0326-1436/+1073
| | |\ \
| | * | | [PATCH] libata basic detection and errata for PATA->SATA bridgesBrad Campbell2005-05-121-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch works around an issue with WD drives (and possibly others) over SiL PATA->SATA Bridges on SATA controllers locking up with transfers > 200 sectors. Signed-off-by: Brad Campbell <brad@wasp.net.au>
| * | | | Automatic merge of /spare/repo/libata-dev branch svw2005-06-041-9/+16
| |\ \ \ \
| | * | | | [PATCH] sata_svw: Add support for new device IDsNarendra Sankar2005-05-251-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BCM5785 (HT1000) is a new southbridge from Serverworks/Broadcom that incorporates 4 SATA ports in a single PCIX function. Functionally these ports are similar to that in older devices like the Apple K2 and the Frodo4/8. This patch adds support for the new PCI device ID along with a blurb on what the various device IDs mean. Additionally in all devices based on this SATA controller, the SATA ports appear as a single PCI function. This is true for older Frodo8 devices as well. Hence the init function should init all the ports present in the detected controller (which could be 4 or 8). Signed-off-by: Narendra Sankar <nsankar@broadcom.com>
| * | | | | Merge of /spare/repo/libata-dev branch pdc206192005-06-041-1/+25
| |\ \ \ \ \
| | * \ \ \ \ Automatic merge of /spare/repo/linux-2.6/.git branch HEAD2005-06-0426-1436/+1073
| | |\ \ \ \ \ | | | | |_|/ / | | | |/| | |
| | * | | | | [libata sata_promise] pdc20619 (PATA) supportTobias Lorenz2005-05-121-1/+25
| | | |_|/ / | | |/| | |
| * | | | | Automatic merge of /spare/repo/libata-dev branch ahci-msi2005-06-041-13/+67
| |\ \ \ \ \ | | |_|/ / / | |/| | | |
| | * | | | [libata] ahci: minor PCI MSI cleanupJeff Garzik2005-06-041-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace 'have_msi' variable with a bit in the existing 'flags' variable,. AHCI_FLAG_MSI.
| | * | | | [libata] ahci: Update for recent ->host_stop() API changeJeff Garzik2005-05-311-4/+4
| | | | | |
| | * | | | Automatic merge of ↵2005-05-3116-48/+89
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
| | * \ \ \ \ Automatic merge of ↵2005-05-2612-1317/+542
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git branch HEAD
| | * | | | | | [libata ahci] support PCI MSI interrupt vectorJeff Garzik2005-05-121-10/+63
| | | |_|/ / / | | |/| | | |
* | | | | | | [SCSI] aacraid: regression fixMark Haverkamp2005-06-171-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fixes for sparse warnings mixed in with the fixups for the raw_srb handler resulted in a bug that showed up in the 32 bit environments when trying to issue calls directly to the physical devices that are part of the arrays (ioctl scsi passthrough). Received from Mark Salyzyn at adaptec. Applied comment from Christoph to remove cpu_to_le32(0) Applied Mark S fix of missing memcpy. It applies to the scsi-misc-2.6 git tree. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | | | | | | merge by hand (qla_os.c mismerge)James Bottomley2005-06-17133-16961/+9381
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ merge by hand (fix up qla_os.c merge error)James Bottomley2005-06-17133-16962/+9381
| |\ \ \ \ \ \ \ | | |_|_|_|_|_|/ | |/| | | | | |
| | * | | | | | [SCSI] allow sleeping in ->eh_host_reset_handler()Jeff Garzik2005-06-1732-26/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] allow sleeping in ->eh_bus_reset_handler()Jeff Garzik2005-06-1727-30/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] allow sleeping in ->eh_device_reset_handler()Jeff Garzik2005-06-1712-27/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] allow sleeping in ->eh_abort_handler()Jeff Garzik2005-06-1715-39/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] Remove no-op implementations of SCSI EH hooksJeff Garzik2005-06-1740-261/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drivers need not implement a hook that returns FAILED, and does nothing else, since the SCSI midlayer code will do that for us. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] Remove unnecessary locking around completion function callsJeff Garzik2005-06-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SCSI ->done() hook should not be called from inside a spinlock. Drivers that do this are mostly cut-n-paste from 2.2.x-era. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx: fix the BIOS limits setting routinesJames Bottomley2005-06-131-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the go around over the SONY DVD that needs artificial limits, this should be the correct code for all cases (minus the debugging prints). Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx: clean up eisa supportChristoph Hellwig2005-06-113-131/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the eisa layer only probes when it's actually safe, no need for a driver option - store the id table directly in linux format instead of convering at runtime Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx: remove some dead woodChristoph Hellwig2005-06-113-47/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | especially the now dead scsi_cmnd overlay Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx: remove ahc_find_softcChristoph Hellwig2005-06-115-63/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | there's absolutely no reason not to trust the driver private data Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx: do not check for duplicate pci idsChristoph Hellwig2005-06-111-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pci layer handles this just fine for us Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] aic7xxx/aic79xx: remove useless byte order macro cruftChristoph Hellwig2005-06-112-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] 2.6 aacraid: updated sysfs filesMark Haverkamp2005-06-031-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds some files into the /sys/class/scsi_host/hostN directories for aacraid adapters: model vendor hba_kernel_version hba_monitor_version hba_bios_version serial_number Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] update spi transport class so that u320 Domain Validation worksJames Bottomley2005-06-031-24/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are several extra things that have to be considered when running Domain Validation on a u320 target (notably how you fall back). Hopefully this should help us when someone adds this transport class to aic79xx. I've tested this on the lsi1030, so I know it works correctly up to u320. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] fix aic7xxx coupled parameter problemJames Bottomley2005-06-031-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For setting coupled parameters, we need to be comparing against the goal settings, not the current ones. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | | | | | [SCSI] sg: Command completion after remove oopsbrking@us.ibm.com2005-06-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A problem exists todayin the sg driver that if an SG_IO request is outstanding to a device when it is removed from the system. The system may oops if that command completes later in time. 1. sg_remove gets called 2. sg_remove calls sg_finish_req_req on all pending requests This removes the Sg_request's from the headrp list in the Sg_fd 3. The sleeping SG_IO ioctl is woken. It does nothing and returns. 4. The caller closes the fd, which invokes sg_release 5. sg_release calls sg_remove_sfp. It finds no outstanding commands since the headrp list is empty, so it calls __sg_remove_sfp, which frees the sfp. 6. Now when sg_cmd_done gets called, sg uses upper_private_data in the Scsi_Request, which should point to the srp, which has been freed, so it points to freed memory. 7. sg then dereferences the srp pointer to get the sfp, and we oops. The fix is to NULL out the upper_private_data field in this path, which sg_cmd_done already checks for, which will prevent the oops from occurring. cpu 0x1: Vector: 300 (Data Access) at [c00000000fff7aa0] pc: d0000000002bbea8: .sg_cmd_done+0x70/0x394 [sg] lr: d000000000073304: .scsi_finish_command+0x10c/0x130 [scsi_mod] sp: c00000000fff7d20 msr: 8000000000009032 dar: 2f70726f63202f78 dsisr: 40000000 current = 0xc0000000024589b0 paca = 0xc0000000003da800 pid = 7, comm = events/1 [c00000000fff7dc0] d000000000073304 .scsi_finish_command+0x10c/0x130 [scsi_mod] [c00000000fff7e50] d00000000007317c .scsi_softirq+0x140/0x168 [scsi_mod] [c00000000fff7ef0] c0000000000634dc .__do_softirq+0xa0/0x17c [c00000000fff7f90] c000000000018430 .call_do_softirq+0x14/0x24 [c00000000ed472e0] c0000000000142e0 .do_softirq+0x74/0x9c [c00000000ed47370] c000000000013c9c .do_IRQ+0xe8/0x100 [c00000000ed473f0] c00000000000ae34 HardwareInterrupt_entry+0x8/0x54 c00000000003df28 .smp_call_function+0 x100/0x1d0 [c00000000ed47780] c0000000000ba99c .invalidate_bh_lrus+0x30/0x70 [c00000000ed47810] c0000000000b91a0 .invalidate_bdev+0x18/0x3c [c00000000ed478a0] c0000000000da7b8 .__invalidate_device+0x70/0x94 [c00000000ed47930] c0000000001d40bc .invalidate_partition+0x4c/0x7c [c00000000ed479c0] c00000000010a944 .del_gendisk+0x48/0x15c [c00000000ed47a50] d00000000003d55c .sd_remove+0x34/0xe4 [sd_mod] [c00000000ed47ae0] c0000000001c5d30 .device_release_driver+0x90/0xb4 [c00000000ed47b70] c0000000001c6130 .bus_remove_device+0xb0/0x12c [c00000000ed47c00] c0000000001c4378 .device_del+0x120/0x198 [c00000000ed47ca0] d00000000007dcdc .scsi_remove_device+0xb4/0x194 [scsi_mod] [c00000000ed47d30] d0000000000a5864 .ipr_worker_thread+0x1d4/0x27c [ipr] [c00000000ed47dd0] c0000000000734c4 .worker_thread+0x238/0x2f4 [c00000000ed47ee0] c0000000000796c0 .kthread+0xcc/0x11c [c00000000ed47f90] c000000000018ad0 .kernel_thread+0x4c/0x6c Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
OpenPOWER on IntegriCloud