summaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)Author
2006-03-21[libata] fix oops on non-DMA bmdma hardwareJeff Garzik
Alan noted: "bmdma may be zero but the bmdma_irq_clear function gets called even in this case during pure PIO operation. Check we have a bmdma before we use it." I fixed this by adding a check for zero. While was I there, I fixed the non-standard indentation of the small function's code. Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: make irqtrap mode compileAlan Cox
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: report which drive is causing mode problemsAlan Cox
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: two new PCI helpersAlan Cox
The first performs the simplex clearing relevant to some chipsets that report simplex by default but can in fact do more if poked. The second is used to strip DMA modes from a PCI control with no BAR4 allocation. Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: Note weakness in our PCI handling that one day wants fixingAlan Cox
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: make code actually compile with debugging onAlan Cox
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: pick a less confusion "um dunno" errorAlan Cox
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[libata] sata_mv: off-by-1 fixMark Lord
This patch addresses a number of weird behaviours observed for the sata_mv driver, by fixing an "off by one" bug in processing of the EDMA response queue. Basically, sata_mv was looking in the wrong place for command results, and this produced a lot of unpredictable behaviour. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: ata_scsi_slave_config cleanupBrian King
Encapsulate some of ata_scsi_slave_config so that parts can be reused in future SAS patches. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata: Add some dummy noop functionsBrian King
Add some dummy noop functions for use by libata clients that do not need to do anything. Future SAS patches will utilize these functions. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata-dev: Remove ATA_PROT_PIO_MULTAlbert Lee
Remove the ATA_PROT_PIO_MULT protocol. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[PATCH] libata-dev: add flush task to ata_exec_internal()Albert Lee
Add ata_port_flush_task() to ata_exec_internal(). Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21[libata] SCSI VPD page 0x83 fixesJeff Garzik
Original patch (and description) by Douglas Gilbert, with minor fixes and API updates from me. Changelog: - make existing libata VPD device identification page (0x83) supply the ATA serial number in the libata "vendor specific" designator (from Chris Paulson-Ellis) - add a "t10 vendor id based" designator as defined in SAT rev 08 (section 10.3.4.2.3) that supplies ATA model and serial numbers - make the libata VPD page 0x83 more extensible (for adding more designators in the future). - rename EVPD to VPD in various places. Enable Vital Product Data (EVPD) is a bit in the INQUIRY cdb. Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: README: bzip2 is not new Documentation/Changes: remove outdated translation references remove dead Radeon URL SCSI_AACRAID: add a help text update the i386 defconfig MAINTAINERS: remove the LANMEDIA entry Move ip2.c and ip2main.c to drivers/char/ip2/ where the other files
2006-03-20[libata] sata_mv: fix irq port status usageJeff Garzik
Interrupt handler did not properly initialize a variable on a per-port basis, leading to incorrect behavior on ports other than port 0. Bug caught and fixed by Mark Lord. Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-20SCSI_AACRAID: add a help textAdrian Bunk
Most of the text by Mark Salyzyn <mark_salyzyn@adaptec.com>. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Mark Salyzyn <mark_salyzyn@adaptec.com>
2006-03-16[PATCH] libata: move IDENTIFY info printing from ata_dev_read_id() to ↵Tejun Heo
ata_dev_configure() Move IDENTIFY info printing from ata_dev_read_id() to ata_dev_configure() and print only if @print_info is non-zero. This kills duplicate IDENTIFY info printing during probing. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-16[PATCH] libata: use local *id instead of dev->id in ata_dev_configure()Tejun Heo
dev->id is used many times in ata_dev_configure(). Use local variable id instead for shorter notation. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-16Merge branch 'master'Jeff Garzik
2006-03-14Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] zfcp: fix device registration issues [SCSI] scsi_transport_fc: fix FC_HOST_NUM_ATTRS [SCSI] scsi: aha152x pcmcia driver needs spi transport [SCSI] zfcp: correctly set this_id for hosts [SCSI] Add Brownie to blacklist
2006-03-12[PATCH] libata: check Word 88 validity in ata_id_xfer_mask()Tejun Heo
Check bit 2 of Word 53 for Word 88 validity before using Word 88 to determine UDMA mask. Note that the original xfer mask implementation using ata_get_mode_mask() didn't consider bit 2 of Word 53. This patch introduces different (correct) behavior. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-12[PATCH] libata: fix class handling in ata_bus_probe()Tejun Heo
ata_bus_probe() didn't set classes[] properly for port disabled case of ->phy_reset() compatibility path. This patch moves classes[] initialization and normalization out of ->probe_reset block such that it applies to both ->probe_reset and ->phy_reset paths. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] ahci: enable prefetching for PACKET commandsTejun Heo
Turn on AHCI_CMD_PREFETCH for PACKET commands. This hints the controller that it can prefetch the CDB and the PRD entries. This patch is originally from Jeff Garzik. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11libata: turn on ATAPI by defaultJeff Garzik
2006-03-11[PATCH] sata_sil24: lengthen softreset timeoutTejun Heo
sil24 softreset timeout was > 100ms (100 loops with msleep(1)), which turned out to be too short for some devices (ASI ARAID99 2000). This patch converts sil24 softreset waiting loop to use proper timeout condition and lengthen the timeout to ATA_TMOUT_BOOT secs and check interval to 100ms. Chisato Yamauchi discovered the problem and supplied initial patch. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Chisato Yamauchi <cyamauch@plamo.linet.gr.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] sata_sil24: exit early from softreset if SStatus reports no deviceTejun Heo
sata_sil24 softreset routine used to check sata_dev_present() after SRST is complete in the hope that SRST may do some good even when SStatus reports no device. This is okay as long as SRST timeout is short (> 100ms in the current code) but it seems that not all SATA devices are happy with short SRST timeout. This patch makes softreset exit early without performing actual SRST if SStatus reports no device in preparation for lengthening SRST timeout. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11Merge branch 'upstream-fixes'Jeff Garzik
2006-03-11[PATCH] ahci: fix NULL pointer dereference detected by CoverityTejun Heo
Fix NULL pointer dereference detected by the Coverity checker. Kill dev -> pdev -> dev conversion while at it. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: fix missing classes[] initialization in ata_bus_probe()Tejun Heo
ata_bus_probe() didn't initialize classes[] properly with ATA_DEV_UNKNOWN. As ->probe_reset() is allowed to leave @classes alone when no device is present, this results in garbage class values. ATM, the only affected driver is ata_piix. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: kill unused xfer_mode functionsTejun Heo
Preceding xfer_mask changes make the following functions unused. ata_pio_modes(), base_from_shift(), ata_pr_blacklisted(), fgb() Kill them. Also, as xfer_mode_str[] is now only used by ata_mode_string(), move it into the function. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: reimplement ata_set_mode() using xfer_mask helpersTejun Heo
Use xfer_mask helpers to determine transfer mode. This rewrite also makes transfer mode determination done before any actual configuration. This patch doesn't result in any functional changes. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: use xfer_mask helpers in ata_dev_set_mode()Tejun Heo
Rewrite hardcoded xfer_mode string determination in ata_dev_set_mode() using xfer_mask helpers. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: use ata_id_xfermask() in ata_dev_configure()Tejun Heo
Replace quick & dirty max transfer mode determination in ata_dev_configure() with ata_id_xfermask(). While at it, rename xfer_modes variable to xfer_mask and make it unsigned int for consistency. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: add xfer_mask handling functionsTejun Heo
Add ata_pack_xfermask(), ata_xfer_mask2mode(), ata_xfer_mode2mask(), ata_xfer_mode2shift() and ata_id_xfermask(). These functions will be used by following patches to simplify xfer_mask handling. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: improve xfer mask constants and update ata_mode_string()Tejun Heo
Add ATA_BITS_*, ATA_MASK_* macros and reorder xfer_mask fields such that higher transfer mode is placed at higher order bit. As thie reordering breaks ata_mode_string(), this patch also rewrites ata_mode_string(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: rename ATA_FLAG_FLUSH_PIO_TASK to ATA_FLAG_FLUSH_PORT_TASKTejun Heo
Rename ATA_FLAG_FLUSH_PIO_TASK to ATA_FLAG_FLUSH_PORT_TASK. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: kill unused pio_task and packet_taskTejun Heo
Kill unused pio_task and packet_task. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: convert pio_task and packet_task to port_taskTejun Heo
Make pio_task and atapi_packet_task use port_task. atapi_packet_task() is moved upward such that it's right after ata_pio_task(). This position is more natural and makes adding prototype for ata_qc_issue_prot() unnecessary. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11[PATCH] libata: implement port_taskTejun Heo
Implement port_task. LLDD's can schedule a function to be executed with context after specified delay. libata core takes care of synchronization against EH. This is generalized form of pio_task and packet_task which are tied to PIO hsm implementation. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-11Merge branch 'master'Jeff Garzik
2006-03-09[SCSI] scsi_transport_fc: fix FC_HOST_NUM_ATTRSAndreas Herrmann
In the past I added an host attribute but unfortunately I forgot to increase FC_HOST_NUM_ATTRS. This is fixed with the patch. Otherwise an fibre channel lld might run into BUG_ON(count > FC_HOST_NUM_ATTRS); in fc_attach_transport(). Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-06Allocate 96 bytes for SCSI sense data replyLinus Torvalds
The SCSI layer uses SCSI_SENSE_BUFFERSIZE (96) for the sense buffer size, even though some other code uses "sizeof(struct request_sense)" (which is 64 bytes). Allocate the buffer using the bigger of the two for safety. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-05[PATCH] sata_sil24: fix mwdma_mask settingTejun Heo
mwdma_mask was not copied from port_info to probe_ent. Fix it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[PATCH] libata: revalidate after transfer mode configurationTejun Heo
Revalidate device after transfer mode configuration. This also makes dev->id up-to-date. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[PATCH] libata: implement ata_dev_revalidate()Tejun Heo
ata_dev_revalidate() re-reads IDENTIFY PAGE of the given device and makes sure it's the same device as the configured one. Once it's verified that it's the same device, @dev is configured according to newly read IDENTIFY PAGE. Note that revalidation currently doesn't invoke transfer mode reconfiguration. Criteria for 'same device' * same class (of course) * same model string * same serial string * if ATA, same n_sectors (to catch geometry parameter changes) Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[PATCH] libata: add @print_info argument to ata_dev_configure()Tejun Heo
Add @print_info argument to ata_dev_configure(). Details of configured device is printed only when @pinfo_info is non-zero. This patch also reorganizes device info printing for LBA case to simplify code (necessary as @print_info adds extra nesting around it). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[PATCH] libata: re-initialize parameters before configuringTejun Heo
In ata_dev_configure(), reinitialize parameters before configuring. This change is for revalidation and hotplug. As ata_dev_configure() can be entered multiple times, parameters need to be reinitialized. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[SCSI] scsi: aha152x pcmcia driver needs spi transportDominik Brodowski
AHA152X PCMCIA module needs spi_print_msg. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-03-05[PATCH] sata_sil: cosmetic flag/constant changesTejun Heo
Collect common host flags into SIL_DFL_HOST_FLAGS and add comments to constants. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-03-05[PATCH] sata_sil: replace register address constants with sil_port[] entryTejun Heo
Kill SIL_FIFO_* and SIL_IDE2_BMDMA and replace them with proper sil_port[] entry. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>