summaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2005-11-06[SCSI] ipr: Module parm to disable RAID 0 auto createbrking@us.ibm.com1-0/+5
Some ipr adapters will automatically create single device RAID 0 arrays for all unconfigured RAID capable devices found at adapter initialization time. This patch adds a module parameter to disable this behavior. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Runtime resetbrking@us.ibm.com2-1/+5
Some IPR RAID adapter will automatically create single device RAID arrays for all attached devices when the card is initialized. Setting the RUNTIME_RESET doorbell bit will prevent this from occurring, since we only want this behavior the first time the card is initialized and not each time the card happens to get reset. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: handle new adapter errorsbrking@us.ibm.com2-12/+81
Add support for handling some new errors that may be returned by ipr adapters. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Provide reset_adapter retry method for offlined adaptersbrking@us.ibm.com1-0/+69
If an ipr adapter repeatedly fails its initialization the ipr driver will take the adapter offline and never talk to it again. This provides a method for the user to manually try the initialization again through sysfs. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Runtime debugging optionsbrking@us.ibm.com2-27/+6
Make some compile time debugging options runtime module options. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Fix adapter microcode update DMA mapping leakbrking@us.ibm.com2-49/+56
If the write buffer command that is issued to the ipr adapter to update its microcode fails for some reason, the DMA buffer will never get unmapped. Move the pci_map/unmap out of the IOA reset job so that the buffer is always clearly mapped and unmapped. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Convert to use kzallocbrking@us.ibm.com1-14/+4
Convert appropriate kmalloc/memset calls to use kzalloc. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Write caching state host attributebrking@us.ibm.com2-9/+210
Adds a scsi_host sysfs attribute and module parm to enable/disable the write cache on an ipr adapter. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: slave_alloc optimizationbrking@us.ibm.com1-2/+4
Optimize ipr's slave_alloc to return -ENXIO for devices that do not exist. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Prevent upper layer driver bindingbrking@us.ibm.com1-1/+3
Set the no_uld_attach for devices ipr does not want upper layer drivers to attach to. These devices are only reported for RAID management and only sg should be used to talk to them. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Include all disks in supported listbrking@us.ibm.com1-1/+1
Fix ipr to include all disks in the supported device list, not just disks formatted to advanced function format. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Error logging cleanupbrking@us.ibm.com1-3/+3
Simplify error logging path, sanitize error length returned by the adapter. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Handle unknown errorsbrking@us.ibm.com1-5/+1
Better handle errors received which are not known to the device driver. Just dump the hex data so that we have a hope of figuring out what went wrong. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Generic adapter error cleaupbrking@us.ibm.com1-3/+0
The generic ipr adapter error log currently logs 2 lines of useless data. Delete these lines. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Physical resource error logging macrobrking@us.ibm.com2-29/+17
Adds a macro in the ipr driver for logging a physical device location. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Cleanup error structuresbrking@us.ibm.com2-53/+36
Simplify the ipr error structures a bit by removing some duplication. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ipr: Disk array rescanning fixbrking@us.ibm.com1-0/+1
IPR RAID arrays show up on a virtual scsi bus, with a scsi bus number of 255, which is generated by the adapter microcode. For the initial scan of the host, we manually scan this bus since it does not obey SAM in regards to sparse LUNs and the disk array devices do not have a consistent product id to use scsi core's blacklist. If /proc/scsi/scsi or sysfs is used to delete one of these devices, the device will not be able to get added back by rescanning the host since scsi core will see ipr's max_channel as 4, rather than 255. Update max_channel after the initial scan so that ipr raid arrays can get re-added if they get deleted. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] remove the obsolete SCSI qlogicisp driverAdrian Bunk5-4000/+0
The SCSI qlogicisp driver is both marked BROKEN and superseded by the qla1280 driver. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] aic79xx: remove scsi_assign_lock usageChristoph Hellwig1-23/+14
just take the internal lock in queuecommand instead. also switch the only direct use of the internal lock to the wrappers used elsewhere. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] aic7xxx: remove scsi_assign_lock usageChristoph Hellwig1-23/+16
just take the internal lock in queuecommand instead. also switch the only direct use of the internal lock to the wrappers used elsewhere. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] megaraid (legacy): remove scsi_assign_lock usageChristoph Hellwig2-28/+14
just take the adapter lock in megaraid_queue. Additional benefit is that we can get rid of the awkward conditional locking in mega_internal_command. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] megaraid_mbox: remove scsi_assign_lock usageChristoph Hellwig2-66/+17
also remove the adapter->host_lock alias for adapter->lock and remove some superflous locking aswell as removing the tiny locking wrappers for the EH routines. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] megaraid_sas: fix EH lockingChristoph Hellwig1-5/+0
recent kernels call the eh_ methods without the host lock held. megaraid_sas doesn't need it but drops it before calling a sleeping routine and reqcquires it afterwards. Just remove the spin_unlock/spin_lock calls. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] use a completion in scsi_send_eh_cmndChristoph Hellwig2-79/+29
scsi_send_eh_cmnd currently uses a semaphore and an overload of eh_timer to either get a completion for a command for a timeout. Switch to using a completion and wait_for_completion_timeout to simply the code and not having to deal with the races ourselves. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] remove scsi_wait_reqChristoph Hellwig1-49/+0
This function has been superceeded by the block request based interfaces and is unused (except for the uncompilable cpqfc driver). Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] remove Scsi_Host.eh_activeChristoph Hellwig1-4/+0
now that the abuse in qla2xxx is gone this field can be remove. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] tidy up scsi_error_handlerChristoph Hellwig1-29/+17
adjust comments, remove a useless cast and remove a write-only variable. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ide-scsi fails to call idescsi_check_condition for things like ↵Willem Riede1-2/+3
"Medium not present" This patch started life as a response to fedora specific ide subsystem changes that made error handling of my ATAPI tape drive fail; the specifics are in https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=160868 The insertion of the statement rq->errors = err; near the end of ide_end_drive_cmd() in drivers/ide/ide-io.c means that rq->errors does not contain what it needs to in idescsi_end_request() in drivers/scsi/ide-scsi.c anymore. Recent mainline kernels now also have this change. Signed-off-by: Willem Riede <wrlk@riede.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] ips: remove "Version Matching"Jack Hammer1-135/+3
IBM has finally agreed that the "Version Matching" between firmware and drivers ( and the resulting warning messages ) is no longer necessary. This patch will remove those functions from the ServeRAID driver. Signed-off-by: Jack Hammer <jack_hammer@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] raid class updateJames Bottomley1-24/+72
- Update raid class to use nested classes for raid components (this will allow us to move to a component control model now) - Make the raid level an enumeration rather than and int. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-06[SCSI] Fix transport class oopsJames Bottomley1-3/+6
There's an oops that sometimes shows up with SCSI transport classes in sysfs_hash_and_remove. The problem is that now, because of the class to device and vice versa symlinks, all classes have to be removed from visibility *before* the device is removed from visibility. The transport class trigger points violate this, so bring them back into conformance. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-05[libata] restore sg on DMA mapping failureTejun Heo1-2/+8
2005-11-05Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6Linus Torvalds125-36804/+28676
2005-11-05[SCSI] sd: Fix refcountingAlan Stern1-37/+62
Currently the driver takes a reference only for requests coming by way of the gendisk, not for requests coming by way of the struct device or struct scsi_device. Such requests can arrive in the rescan, flush, and shutdown pathways. The patch also makes the scsi_disk keep a reference to the underlying scsi_device, and it erases the scsi_device's pointer to the scsi_disk when the scsi_device is removed (since the pointer should no longer be used). This resolves Bugzilla entry #5237. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-05Fix ips.c compileJames Bottomley1-0/+1
It looks like one of the ips patches was missing a closing brace in a function Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-05Merge by HandJames Bottomley125-36767/+28613
Conflicts in dec_esp.c (Thanks Bacchus), scsi_transport_iscsi.c and scsi_transport_fc.h Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-05[libata] ATAPI pad allocation fixes/cleanupJeff Garzik4-26/+58
Use ata_pad_{alloc,free} in two drivers, to factor out common code. Add ata_pad_{alloc,free} to two other drivers, which needed the padding but had not been updated.
2005-11-05Merge branch 'master'Jeff Garzik9-14/+33
2005-11-02Merge Paulus' treeStephen Rothwell5-63/+51
2005-11-02merge filename and modify references to iseries/vio.hKelly Daly1-1/+1
Signed-off-by: Kelly Daly <kelly@au.ibm.com>
2005-11-02merge filename and modify references to iseries/hv_types.hKelly Daly1-1/+1
Signed-off-by: Kelly Daly <kelly@au.ibm.com>
2005-11-02merge filename and modify references to iseries/hv_lp_event.hKelly Daly1-1/+1
Signed-off-by: Kelly Daly <kelly@au.ibm.com>
2005-11-02merge filename and modify reference to iseries/hv_lp_config.hKelly Daly1-1/+1
Signed-off-by: Kelly Daly <kelly@au.ibm.com>
2005-11-01[SCSI] ips: Fix initialization bug with kdumpJack Hammer1-0/+93
If I/O is active on the adapter, and an unexpected interrupt is pending during initialization, the driver blows it's brains out. Since the driver didn't initiate the I/O, the data in it's internal tables will contain NULL pointers. When this condition is detected, a "flush cache and reset" is performed. The flush cache allows any pending "lazy writes" that the adapter is processing to complete ( a "must have" for a RAID adapter ) and the reset puts the adapter back into a known, good state. Signed-off-by: Jack Hammer <jack_hammer@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-11-01[PATCH] revert ide-scsi highmem cleanupAndrew Morton1-12/+32
Jeff Garzik <jgarzik@pobox.com> points out that this was wrong: we need to disable local interrupts while holding KM_IRQ0 due to IRQ sharing. And holding interrupts off during a big PIO opration is expensive, so we only want to do that if we know the page was highmem. So revert commit 17fd47ab4d33e764216b87006d8118fa050b4c92 Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-31Merge branch 'upstream-linus' of ↵Linus Torvalds3-51/+18
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
2005-10-31Merge master.kernel.org:/home/rmk/linux-2.6-drvmodelLinus Torvalds1-0/+1
Manual #include fixups for clashes - there may be some unnecessary
2005-10-31Merge branch 'upstream'Jeff Garzik3-51/+18
2005-10-31[libata] locking rewrite (== fix)Jeff Garzik2-3/+8
A lot of power packed into a little patch. This change eliminates the sharing between our controller-wide spinlock and the SCSI core's Scsi_Host lock. As the locking in libata was already highly compartmentalized, always referencing our own lock, and never scsi_host::host_lock. As a side effect, this change eliminates a deadlock from calling scsi_finish_command() while inside our spinlock.
2005-10-31[libata] ata_tf_to_host cleanupsJeff Garzik2-48/+10
Integrate ata_exec() and ata_tf_to_host() into their only caller, ata_bus_edd(). Rename ata_tf_to_host_nolock() to ata_tf_to_host(). This makes locking a bit easier to review, and may help pave the way for future changes.