aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2006-08-10[PATCH] libata: use dummy port for stolen legacy portsTejun Heo2-26/+17
Use dummy port for stolen legacy ports. This makes ap->port_no always equal ap->hard_port_no. Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] libata: implement dummy portTejun Heo1-10/+51
Implement dummy port which can be requested by setting appropriate bit in probe_ent->dummy_port_mask. The dummy port is used as placeholder for stolen legacy port. This allows libata to guarantee that index_of(ap) == ap->port_no == actual_device_port_no, and thus to remove error-prone ap->hard_port_no. As it's used only when one port of a legacy controller is reserved by some other entity (e.g. IDE), the focus is on keeping the added *code* complexity at minimum, so dummy port allocates all libata core resources and acts as a normal port. It just has all dummy port_ops. This patch only implements dummy port. The following patch will make libata use it for stolen legacy ports. Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] libata: rework legacy handling to remove much of the cruftAlan Cox3-96/+100
Kill host_set->next Fix simplex support Allow per platform setting of IDE legacy bases Some of this can be tidied further later on, in particular all the legacy port gunge belongs as a PCI quirk/PCI header decode to understand the special legacy IDE rules in the PCI spec. Longer term Jeff also wants to move the request_irq/free_irq out of core which will make this even cleaner. tj: folded in three followup patches - ata_piix-fix, broken-arch-fix and fix-new-legacy-handling, and separated per-dev xfermask into separate patch preceding this one. Folded in fixes are... * ata_piix-fix: fix build failure due to host_set->next removal * broken-arch-fix: add missing include/asm-*/libata-portmap.h * fix-new-legacy-handling: * In ata_pci_init_legacy_port(), probe_num was incorrectly incremented during initialization of the secondary port and probe_ent->n_ports was incorrectly fixed to 1. * Both legacy ports ended up having the same hard_port_no. * When printing port information, both legacy ports printed the first irq. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] libata: implement per-dev xfermaskTejun Heo1-29/+11
Implement per-dev xfermask. libata used to determine xfermask per-port - the fastest mode of the slowest device on the port. This patch enables per-dev xfermask. Original patch is from Alan Cox <[email protected]>. The following changes are made by me. * simplex warning message is added * remove disabled device handling code which is never invoked (originally for choosing port-wide lowest PIO mode) Cc: Alan Cox <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] [libata] Kill 'count' var in ata_device_add()Jeff Garzik1-13/+7
Eliminate redundant loop variable 'count' Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] [libata] some function renamingJeff Garzik1-11/+10
s/ata_host_add/ata_port_add/ s/ata_host_init/ata_port_init/ libata naming got stuck in the middle of a Great Renaming: ata_host -> ata_port ata_host_set -> ata_host To eliminate confusion, let's just give up for now, and simply ensure that things are internally consistent. Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-10[PATCH] libata: update ata_host_init() and rename it to ata_port_init_shost()Tejun Heo1-20/+13
Update ata_host_init() such that it only initializes SCSI host related stuff and doesn't call into ata_port_init(), and rename it to ata_port_init_shost(). Signed-off-by: Tejun Heo <[email protected]>
2006-08-09Merge branch 'upstream-fixes' into upstreamJeff Garzik2-2/+15
2006-08-09[PATCH] libata: clear sdev->locked on door lock failureTejun Heo1-0/+13
SCSI EH locks door if sdev->locked is set. Sometimes door lock command fails continuously (e.g. when medium is not present) and as libata uses EH to acquire sense data, this easily creates a loop where a failed lock door invokes EH and EH issues lock door on completion. This patch clears sdev->locked on door lock failure to break this loop. This problem has been spotted and diagnosed by Unicorn Chang <[email protected]>. Signed-off-by: Tejun Heo <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] Fix compile problem when sata debugging is onKeith Owens1-2/+2
Fix a sata debug print statement that still uses an old variable name. Signed-off-by: Keith Owens <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] ahci: remove IRQ mask clearing from init_controller()Tejun Heo1-2/+1
Initial IRQ mask clearing is done by libata-core by freezing all ports prior to requesting IRQ. Remove redundant IRQ clearing from init_controller(). Signed-off-by: Tejun Heo <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] libata: Add support for SATA attachment to SAS adaptersBrian King3-1/+151
The following patch enhances libata to allow SAS device drivers to utilize libata to talk to SATA devices. It introduces some new APIs which allow libata to be used without allocating a virtual scsi host. New APIs: ata_sas_port_alloc - Allocate an ata_port ata_sas_port_init - Initialize an ata_port (probe device, etc) ata_sas_port_destroy - Free an ata_port allocated by ata_sas_port_alloc ata_sas_slave_configure - configure scsi device ata_sas_queuecmd - queue a scsi command, similar to ata_scsi_queuecomand These new APIs can be used either directly by a SAS LLDD or could be used by the SAS transport class. Possible usage for a SAS LLDD would be: scsi_scan_host target_alloc ata_sas_port_alloc slave_alloc ata_sas_port_init slave_configure ata_sas_slave_configure Commands received by the LLDD for SATA devices would call ata_sas_queuecmd. Device teardown would occur with: slave_destroy port_disable target_destroy ata_sas_port_destroy Signed-off-by: Brian King <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] libata: Move ata_probe_ent_alloc to libata_coreBrian King3-26/+27
Move ata_probe_ent_alloc to libata-core. It will also be used by future SAS/SATA integration patches. Signed-off-by: Brian King <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] libata: Add ata_port_initBrian King2-15/+36
Separate out the ata_port initialization from ata_host_init so that it can be used in future SAS patches. Signed-off-by: Brian King <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-09[PATCH] libata: Add ata_host_set_initBrian King1-4/+24
Add ata_host_set_init in preparation for SAS attached SATA. Signed-off-by: Brian King <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-08Merge branch 'upstream-fixes' into upstreamJeff Garzik3-27/+9
2006-08-08Merge branch 'merge'Paul Mackerras2-8/+4
2006-08-06[SCSI] fix up short inquiry printingJames Bottomley1-1/+1
A recent drivers base commit: 3e95637a48820ff8bedb33e6439def96ccff1de5 Caused the bus to be added to dev_printk, so now our SCSI inquiry short messages print like this: scsiscsi 2:0:0:0: Direct access IBM-ESXS ST973401SS B519 PQ: 0 ANSI: 5 Just remove the "scsi" from the sdev_printk to compensate. Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] Improve inquiry printingMatthew Wilcox6-78/+38
- Replace scsi_device_types array API with scsi_device_type function API. Gets rid of a lot of common code, as well as being easier to use. - Add the new device types in SPC4 r05a, and rename some of the older ones. - Reformat the printing of inquiry data; now fits on one line and includes PQ. I think I've addressed all the feedback from the previous versions. My current test box prints: scsi 2:0:1:0: Direct access HP 18.2G ATLAS10K3_18_SCA HP05 PQ: 0 ANSI: 2 Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] ipr: Bump driver version to 2.1.4Brian King1-2/+2
Bump the ipr driver version to 2.1.4. Signed-off-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] ipr: Auto sense handling fixBrian King1-2/+1
Fix up a logic error in the checking for valid sense data. Signed-off-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] ipr: Properly handle IOA recovered errorsBrian King1-1/+2
The ipr driver currently translates adapter recovered errors to DID_ERROR. This patch fixes this to translate these errors to success instead. Signed-off-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] ipr: Handle new SAS error codesBrian King1-0/+28
Add definitions for some SAS error codes that can be logged by ipr SAS adapters. Signed-off-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] ipr: Add some hardware defined types for SATABrian King1-3/+75
Add some hardware defined types for SATA. This is required by future patches to add SATA support to ipr. Signed-off-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[ARM] Fix Acorn platform SCSI driver build failuresRussell King1-1/+1
SCSI folk forgot to fix up all the uses of 'buffer' before deleting this struct member. Do it for them to rescue the resulting build failures. Signed-off-by: Russell King <[email protected]>
2006-08-06[ARM] Fix NCR5380-based SCSI card buildRussell King1-0/+3
The NCR5380-based SCSI cards need the SCSI SPI transport selected to build correctly. Signed-off-by: Russell King <[email protected]>
2006-08-06[SCSI] hptiop: backout ioctl messChristoph Hellwig1-558/+8
The hptiop just got merged with a horrible amount of really bad ioctl code that is against the standards for new scsi drivers. This patch backs it out (and fixes a small bug where scsi_add_host is called to early). We can re-add proper APIs once we agree on them. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06Merge ../linux-2.6James Bottomley5-37/+56
Conflicts: arch/ia64/hp/sim/simscsi.c Stylistic differences in two separate fixes for buffer->request_buffer problem. Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] scsi_queue_work() documented return value is incorrectMichael Reed1-1/+3
If you examine the queue_work() routine you'll see that it returns 1 on success, 0 if the work is already queued. This patch corrects the source code documentation for the scsi_queue_work function. Signed-off-by: Michael Reed <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] qla2xxx: Update version number to 8.01.05-k4.Andrew Vasquez1-1/+1
Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] qla2xxx: Fix to allow to reset devices using sg interface (sg_reset).Vladislav Bolkhovitin1-9/+3
Currently it is impossible to reset provided by Qlogic QLA2xxx driver SCSI devices externally using corresponding sg devices, particularly via sg_reset utility, because qla2xxx driver in qla2xxx_eh_device_reset() function checks if the input scsi_cmnd has its private data (CMD_SP()) attached. Then the found pointer isn't used anywhere inside of qla2xxx_eh_device_reset(). If the RESET request comes from sg device, it doesn't have such private data. The attached patch removes check for non-NULL CMD_SP() from qla2xxx_eh_device_reset(), hence allows to reset QLA2xxx's devices using corresponding sg devices. AV: change applies to bus/host reset handlers as well. Signed-off-by: Vladislav Bolkhovitin <[email protected]> Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] qla2xxx: Log Trace/Diagonostic asynchronous events.Andrew Vasquez2-0/+6
Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] qla2xxx: Correct endianess problem while issuing a Marker IOCB on ↵Shyam Sundar1-0/+1
ISP24xx. Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : Change version number to 8.1.8James Smart1-1/+1
Change version number to 8.1.8 Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : ID String and Message fixesJames Smart6-31/+31
ID String and Message fixes - Fix switch symbolic name registration to match cross-OS values - Replace printk's with more standard lpfc_printf_log calls - Make all lpfc_printf_log message numbers unique Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : Short bug fixesJames Smart4-6/+18
Short bug fixes: - Fix iocbq list corruption due to missing list_del's in ct handling - Missing unlock in lpfc_sli_next_iotag() - Fix initialization of can_queue value - Differentiate sysfs mailbox errors with different codes. Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : Fix race condition between lpfc_sli_issue_mbox and ↵James Smart1-3/+7
lpfc_online Fix race condition between lpfc_sli_issue_mbox and lpfc_online Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : Fix failing firmware download due to mailbox delays ↵James Smart5-5/+32
needing to be longer Fix failing firmware download due to mailbox delays needing to be longer. Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-06[SCSI] lpfc 8.1.7 : Add statistics reset callback for FC transportJames Smart3-4/+103
Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-05[PATCH] libata: fix ata_device_add() error pathTejun Heo1-4/+4
In the error path, ata_device_add() * dereferences null host_set->ports[] element. * calls scsi_remove_host() on not-yet-added shost. This patch fixes both bugs. The first problem was spotted and initial patch submitted by Dave Jones <[email protected]>. The second problem was mentioned and fixed by Jeff Garzik <[email protected]> in a larger cleanup patch. Cc: Dave Jones <[email protected]> Cc: Jeff Garzik <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-05[PATCH] [libata] manually inline ata_host_remove()Jeff Garzik1-25/+6
(tj: this is for the following ata_device_add() fix) Signed-off-by: Jeff Garzik <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2006-08-05[PATCH] sata_sil24: don't set probe_ent->mmio_baseTejun Heo1-1/+0
sata_sil24 doesn't make use of probe_ent->mmio_base and setting this field causes the area to be released twice on detach. Don't set probe_ent->mmio_base. Signed-off-by: Tejun Heo <[email protected]>
2006-08-05[PATCH] ata_piix: fix host_set private_data intializationTejun Heo1-0/+1
To get host_set->private_data initialized reliably, all pinfos need to point to the same hpriv. Restore pinfo->private_data after pata pinfo assignment. Signed-off-by: Tejun Heo <[email protected]>
2006-08-05[PATCH] libata: fix ata_port_detach() for old EH portsTejun Heo1-1/+2
ata_prot_detach() did nothing for old EH ports and thus SCSI hosts associated with those ports are left dangling after they are detached leaving stale devices and causing oops eventually. Make ata_port_detach() remove SCSI hosts for old EH ports. Signed-off-by: Tejun Heo <[email protected]>
2006-08-04[SCSI] advansys pci tweaks.Dave Jones1-41/+49
Remove a lot of duplicate #defines from the advansys driver, and make them look like PCI IDs as defined elsewhere in the kernel. Also add a module table so that it automatically gets picked up by tools relying on modinfo output (like say, distro installers). Signed-off-by: Dave Jones <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-03Merge branch 'upstream-fixes' into upstreamJeff Garzik2-8/+4
2006-08-03[PATCH] ahci: skip protocol test altogether in spurious interrupt codeUnicorn Chang1-8/+2
Skip protocol test altogether in spurious interrupt code. If PIOS is received when it shouldn't, ahci will raise protocol violation. Signed-off-by: Unicorn Chang <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2006-08-02[SCSI] arcmsr: fix up sysfs valuesJames Bottomley1-10/+10
The sysfs files in arcmsr are non-standard in that they aren't simple filename value pairs, the values actually contain preceeding text which would have to be parsed. The idea of sysfs files is that the file name is the description and the contents is a simple value. Fix up arcmsr to conform to this standard. Acked-By: Erich Chen <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-02[SCSI] areca sysfs fixAndrew Morton1-16/+5
Remove sysfs_remove_bin_file() return-value checking from the areca driver. There's nothing a driver can do if sysfs file removal fails, so we'll soon be changing sysfs_remove_bin_file() to internally print a diagnostic and to return void. Cc: Erich Chen <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2006-08-01kbuild: hardcode value of YACC&LEX for aic7-triple-xSam Ravnborg1-0/+2
When we introduced -rR then aic7xxx no loger could pick up definition of YACC&LEX from make - so do it explicit now. Signed-off-by: Sam Ravnborg <[email protected]>