[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>
This commit is contained in:
@@ -184,7 +184,7 @@ struct ahci_port_priv {
|
||||
static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg);
|
||||
static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
|
||||
static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
static int ahci_qc_issue(struct ata_queued_cmd *qc);
|
||||
static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc);
|
||||
static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
|
||||
static void ahci_phy_reset(struct ata_port *ap);
|
||||
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 *
|
||||
return IRQ_RETVAL(handled);
|
||||
}
|
||||
|
||||
static int ahci_qc_issue(struct ata_queued_cmd *qc)
|
||||
static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc)
|
||||
{
|
||||
struct ata_port *ap = qc->ap;
|
||||
void __iomem *port_mmio = (void __iomem *) ap->ioaddr.cmd_addr;
|
||||
|
Reference in New Issue
Block a user