diff options
author | Tejun Heo <htejun@gmail.com> | 2006-01-22 23:09:36 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2006-01-26 22:36:27 -0500 |
commit | 9a3d9eb0177eb10500d49cd283b35576082a522d (patch) | |
tree | 3a8279ea3f263338cd02918131a36ee716cad1a8 /drivers/scsi/ahci.c | |
parent | 11a56d2439259892319df81cf1582687d7e7fde5 (diff) |
[PATCH] libata: return AC_ERR_* from issue functions
Return AC_ERR_* mask from issue fuctions instead of 0/-1. This
enables things like failing a qc with AC_ERR_HSM when the device
doesn't set DRDY when the qc is about to be issued.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/scsi/ahci.c')
-rw-r--r-- | drivers/scsi/ahci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c index bb3686ae1885..0f6e4dd22901 100644 --- a/drivers/scsi/ahci.c +++ b/drivers/scsi/ahci.c | |||
@@ -184,7 +184,7 @@ struct ahci_port_priv { | |||
184 | static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg); | 184 | static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg); |
185 | static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); | 185 | static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); |
186 | static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); | 186 | static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); |
187 | static int ahci_qc_issue(struct ata_queued_cmd *qc); | 187 | static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc); |
188 | static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs); | 188 | static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs); |
189 | static void ahci_phy_reset(struct ata_port *ap); | 189 | static void ahci_phy_reset(struct ata_port *ap); |
190 | static void ahci_irq_clear(struct ata_port *ap); | 190 | static void ahci_irq_clear(struct ata_port *ap); |
@@ -800,7 +800,7 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs * | |||
800 | return IRQ_RETVAL(handled); | 800 | return IRQ_RETVAL(handled); |
801 | } | 801 | } |
802 | 802 | ||
803 | static int ahci_qc_issue(struct ata_queued_cmd *qc) | 803 | static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc) |
804 | { | 804 | { |
805 | struct ata_port *ap = qc->ap; | 805 | struct ata_port *ap = qc->ap; |
806 | void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr; | 806 | void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr; |