summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] missing include in megaraid_sasAl Viro2005-10-041-0/+1
| | | | | | | | megaraid_sas depends on arch-specific indirect includes pulling fs.h in; on alpha they do not. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6Linus Torvalds2005-10-0326-310/+4856
|\
| * [SCSI] Legacy MegaRAID: Fix READ CAPACITYJames Bottomley2005-10-031-20/+50
| | | | | | | | | | | | | | | | | | | | | | Some Legacy megaraid cards can't actually cope with the scatter/gather version of the READ CAPACITY command (which is what we now send them since altering all SCSI internal I/O to go via the block layer). Fix this (and a few other broken megaraid driver assumptions) by sending the non-sg version of the command if the sg list only has a single element. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aic7xxx/aic79xx: fix module removal path not to panicJames Bottomley2005-10-025-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | In these drivers, scsi_remove_host() is called too late, at the point it is called, the driver has already shut down too far to accept any I/O that the shutdown might generate. Any generated I/O actually triggers a panic. Fix this by calling scsi_remove_host() as early as possible and not calling scsi_host_put() until just before we kfree the ahc_softc. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] fix potential panic with proc on module removalJames Bottomley2005-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | There's a problem in our host release in that it calls scsi_proc_hostdir_rm(). However, if you hold a reference to the host as you remove the module, the host template (which proc uses) will be freed and the system will panic when the host device is finally released. Fix this by moving scsi_proc_hostdir_rm() to where it should be: in scsi_remove_host(). Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: remove aac_insert_entryMark Haverkamp2005-09-262-130/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn from Adaptec. High Priority Queues have *never* been used in the entire history of the aac based adapters. Associated with this, aac_insert_entry can be removed, SavedIrql can be removed & padding variable can be removed. With the movement of SavedIrql out & replaced with an automatic variable qflags, the locking can be refined somewhat. The sparse warnings did not catch the need for byte swapping in the 'dprintk' debugging print macros, so fixed this up when this code was moved outside of the now refined locking. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: fib size math fixMark Haverkamp2005-09-262-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn from Adaptec. The size of the command packet's scatter gather list maximum size was miscalculated in the low range leading to the driver initialization limiting the maximum i/o size that could go to the Adapter. There were no negative operational side effects resulting from this bad math, only a subtle limit in performance of the Adapter at the top end of the range. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: initialization timeoutMark Haverkamp2005-09-263-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn from Adaptec. In the rare instances where the adapter, or the motherboard, is misbehaving; driver initialization or shutdown becomes problematic. By introducing a 3 minute timeout on the first interrupt driven command during initialization, or the issuance of the adapter shutdown command during driver unload, we can resolve the lockup problems induced by common (but rare) hardware misbehaviors. The timeout during initialization, should it occur, is accompanied by a message presented to the console and the logs indicating that the user should inspect and resolve problems with interrupt routing. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: error return checkingMark Haverkamp2005-09-261-4/+7
| | | | | | | | | | | | | | | | | | | | This patch adds some additional error return checking and error return value propagation during initialization. Also, the deprecation of pci_module_init with pci_register_driver along with the change in return values. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: handle AIF hotplug events (update)Mark Haverkamp2005-09-263-2/+280
| | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn from Adaptec. Hotplug sniffs the AIFs (events) from the adapter and if a container change resulting in the device going offline (container zero), online (container zero completed) or changing capacity (morph) it will take actions by calling the appropriate API. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] aacraid: aacraid: AIF preallocation (update)Mark Haverkamp2005-09-261-19/+81
| | | | | | | | | | | | | | | | | | | | | | Recevied from Mark Salyzyn from Adaptec. Aif pre-allocation is used to pull the kmalloc outside of the locks. 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>
| * [SCSI] aacraid: Greater than 2TB capacity supportMark Haverkamp2005-09-264-33/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn from Adaptec. There are a few adapters that are capable of creating devices with this large of a capacity, but now that we have the large fib support in, the management applications will be capable of generating them. The problem is, once they are created, the driver will not be able to access the devices correctly without this patch. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] MegaRAID SAS RAID: new driverBagalkote, Sreenivas2005-09-265-0/+3958
| | | | | | | | | | Signed-off-by: Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] sas: fix remote phy removalChristoph Hellwig2005-09-251-5/+4
| | | | | | | | | | | | | | | | | | | | Brown paperbag bug: sas_rphy_delete was ordered completely wrong. Fix it up to be the same order as sas_phy_delete or fc_rport_terminate and fix rphy objects that leaked after module removal. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] qla2xxx: fix remote port timeout with qla2xxx driverAndrew Vasquez2005-09-251-0/+2
| | | | | | | | | | | | | | | | | | | | This patch fixes a hole in the rport unblock handling when processing fabric events via the ADISC/PLOGI device state machine. Original code would not properly 'unblock' the port upon the port reloging into the fabric. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] allow REPORT LUN scanning even for LUN 0 PQ of 3James Bottomley2005-09-251-49/+47
| | | | | | | | | | | | | | | | | | | | | | Currently we just ignore the device, which means there are a few arrays out there that we don't find. This patch updates the scsi_report_lun_scan() to take a target instead of a device so it can be called on a return of SCSI_SCAN_TARGET_PRESENT, which is what a PQ 3 device returns. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] 3ware 9000: Add support for 9550SX controllersadam radford2005-09-252-15/+57
| | | | | | | | | | Signed-off-by: Adam Radford <linuxraid@amcc.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] lpfc build fixAndrew Morton2005-09-214-11/+11
| | | | | | | | | | | | | | gcc-2.95.x doesn't do anonymous unions. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] proc_mkdir() should be used to create procfs directoriesAl Viro2005-09-291-2/+1
| | | | | | | | | | | | | | | | A bunch of create_proc_dir_entry() calls creating directories had crept in since the last sweep; converted to proc_mkdir(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge branch 'upstream' from ↵Linus Torvalds2005-09-233-33/+51
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
| * \ Merge /spare/repo/linux-2.6/Jeff Garzik2005-09-2323-115/+166
| |\ \ | | |/
| * | [PATCH] Add NVIDIA device ID in sata_nvAndy Currid2005-09-211-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Andy Currid <acurrid@nvidia.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * | [PATCH] PATCH: remove function for non-PCI as requestedAlan Cox2005-09-161-32/+49
| | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * | [PATCH] PATCH: silly in piix driverAlan Cox2005-09-161-1/+0
| | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] mesh scsi: fix error handlingBenjamin Herrenschmidt2005-09-221-8/+21
| |/ |/| | | | | | | | | | | | | | | | | | | The PowerMac mesh SCSI driver had some missing error handling which would trigger warnings due to lack of handling of return value from scsi_add_host. This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: James Bottomley <James.Bottomley@SteelEye.com> 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/jejb/scsi-for-linus-2.6Linus Torvalds2005-09-2020-90/+129
|\ \
| * | [SCSI] Fix thread termination for the SCSI error handleJames Bottomley2005-09-191-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Alan Stern <stern@rowland.harvard.edu> This patch (as561) fixes the error handler's thread-exit code. The kthread_stop call won't wake the thread from a down_interruptible, so the patch gets rid of the semaphore and simply does set_current_state(TASK_INTERRUPTIBLE); Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Modified to simplify the termination loop and correct the sleep condition. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix oops on usb storage device disconnectJames Bottomley2005-09-197-16/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | We fix the oops by enforcing the host state model. There have also been two extra states added: SHOST_CANCEL_RECOVERY and SHOST_DEL_RECOVERY so we can take the model through host removal while the recovery thread is active. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] SCSI scanning and removal fixesAlan Stern2005-09-182-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as545) fixes the list traversals in __scsi_remove_target and scsi_forget_host. In each case the existing code list_for_each_entry_safe in an _unsafe_ manner, because the list was not protected from outside modification while the iteration was running. The new scsi_forget_host routine takes the moderately controversial step of iterating over devices for removal rather than iterating over targets. This makes more sense to me because the current scheme treats targets as second-class citizens, created and removed on demand, rather than as objects corresponding to actual hardware. (Also I couldn't figure out any safe way to iterate over the target list, since it's not so easy to tell when a target has already been removed.) Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix oops in scsi_release_buffers()Alan Stern2005-09-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found one other thing that needs to be fixed. The call to scsi_release_buffers in scsi_unprep_request causes an oops, because the sgtable has already been freed in scsi_io_completion. The following patch is needed. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix use after potential free in scsi_remove_deviceAlan Stern2005-09-151-2/+4
| | | | | | | | | | | | | | | Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] atp870u: fix memory addressing bugJames Bottomley2005-09-152-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Alan Cox <alan@redhat.com> The virt_to_bus() wasn't correctly taken out of this driver. It needs to be able to track both physical and virtual addresses for its prd table. Update the driver to do this with separate tracking entries. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] fix sym scsi boot hangJames Bottomley2005-09-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Wed, 2005-09-14 at 18:06 +1000, Anton Blanchard wrote: > And in particular it looks like the scsi_unprep_request in > scsi_queue_insert is causing it. The following patch fixes the boot > problems on the vscsi machine: OK, my fault. Your fix is almost correct .. I was going to do this eventually, honest, because there's no need to unprep and reprep a command that comes in through scsi_queue_insert(). However, I decided to leave it in to exercise the scsi_unprep_request() path just to make sure it was working. What's happening, I think, is that we also use this path for retries. Since we kill and reget the command each time, the retries decrement is never seen, so we're retrying forever. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] scsi: 2 drivers need MODULE_LICENSE()Randy.Dunlap2005-09-142-0/+4
| | | | | | | | | | | | | | | | | | | | | Modules need a license to prevent kernel tainting. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] scsi: sd, sr, st, and scsi_lib all fail to copy cmd_len to new cmdTimothy Thelin2005-09-144-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue in scsi command initialization from a request where sd, sr, st, and scsi_lib all fail to copy the request's cmd_len to the scsi command's cmd_len field. Signed-off-by: Timothy Thelin <timothy.thelin@wdc.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] aic7xxx: move to dma_get_required_mask() and correct 39 bit assumptionsJames Bottomley2005-09-133-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves aic7xxx over to the dma_get_required_mask() API and dumps its open coded memory check. It also appears from this bug: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=167049 That 39 bit addressing doesn't work on older cards. I surmise that the AHC_LARGE_SCBS flag is the one that marks cards capable of using 39 bit addressing, so I also folded that check into the code. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] ibmvscsi compatibility fixDave C Boutcher2005-09-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linda Xie ever so gently pointed out that she had a patch to preserve compatibility with older SLES targets, and I told her we didn't need to push it to mainline. This patch explicitly checks the version of the IBMVSCSI target and ensures that large scatterlists are not sent to older targets. Signed-off-by: Linda Xie <lxie@us.ibm.com> Signed-off-by: Dave Boutcher <boutcher@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | [SCSI] blacklist REPORT LUNS usage on transtec arraysJames Bottomley2005-09-131-0/+1
| |/ | | | | | | | | | | | | They report being SCSI-3 but seem to give back rubbish to a REPORT_LUNS command. Force them to be sequentially scanned. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [PATCH] qla2xxx: Use dword accessors for PCI_ROM_ADDRESSAdam Kropelin2005-09-171-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PCI_ROM_ADDRESS is a 32 bit register and as such should be accessed using pci_bus_{read,write}_config_dword(). A recent audit of drivers/ turned up several cases of byte- and word-sized accesses. The harmful ones were fixed by Linus directly. This patches up one of the remaining harmless-but-still-wrong cases caught in the dragnet. Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com> Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [libata] fix PIO completion raceJeff Garzik2005-09-161-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | Make sure we that completion is the final action we take; prior to this change, another CPU may have changed ap->pio_task_state before we tested it a final time. Spotted by, and original patch by Albert Lee @ IBM. Also includes a minor optimization: eliminate a ton of unnecessary queue_work() calls, simply by jumping to the beginning of the FSM function ata_pio_task().
* | [PATCH] sata_sis: uninitialized variableUwe Koziolek2005-09-141-1/+1
| | | | | | | | | | There is an uninitialized variable issue in sata_sis.c Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | [PATCH] sata_sis: Fix typo in sata port2 initialisationArnaud Patard2005-09-141-1/+1
|/ | | | | | | | | | | This patch fixes a nasty typo I introduced in my previous patch (commit f2c853bca542f5ac0b036377637192a74f2091c2). The right offset of the second port in pure sata mode is 64 and not 0x64. Thanks to Martin Schuster for pointing this to me Signed-off-by: Arnaud Patard <apatard@mandriva.com> --- Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6 Linus Torvalds2005-09-1215-140/+1052
|\
| * [SCSI] set error value when failing commands in prep_fnMike Christie2005-09-101-8/+16
| | | | | | | | | | | | | | | | | | set DID_NO_CONNECT for the BLKPREP_KILL case and correct a few BLKPREP_DEFER cases that weren't checking for the need to plug the queue. Signed-Off-By: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] Alter the scsi_add_device() API to conform to what users expectJames Bottomley2005-09-101-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original API returned either an ERR_PTR() or a refcounted sdev. Unfortunately, if it's successful, you need to do a scsi_device_put() on the sdev otherwise the refcounting is wrong. Everyone seems to expect that scsi_add_device() should be callable without doing the ref put, so alter the API so it is (we still have __scsi_add_device with the original behaviour). The only actual caller that needs altering is the one in firewire ... not because it gets this right, but because it acts on the error if one is returned. Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] Fix module removal/device add raceAlan Stern2005-09-101-2/+6
| | | | | | | | | | | | | | | | | | This patch (as546) fixes an oops-causing failure to check the return code from scsi_device_get. The call can return an error if the LLD is being unloaded from memory. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] lpfc: use wwn_to_u64() transport helperAndrew Vasquez2005-09-104-28/+25
| | | | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Acked-by: Smart, James <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] qla2xxx: use wwn_to_u64() transport helperAndrew Vasquez2005-09-102-12/+10
| | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] SAS transport class: fixup prototype of sas_host_setupJames Bottomley2005-09-091-1/+2
| | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] 3ware 9000: handle use_sg != 0 for emulated commandsadam radford2005-09-091-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The attached patch updates the driver for the 3ware 9000 series to do the following: - Correctly handle single sgl's with use_sg = 1. This is needed with the latest scsi-block-2.6 merge otherwise the 3w-9xxx driver will not work. I tested the patch James sent a few weeks back to fix this, and it had a bug where the request_buffer was accessed in twa_scsiop_execute_scsi_complete() when it was invalid. This is a corrected variation of that patch. Signed-off-by: Adam Radford <linuxraid@amcc.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
OpenPOWER on IntegriCloud