Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 15839
b: refs/heads/master
c: 68bdbdf
h: refs/heads/master
i:
  15837: 050f481
  15835: 891ca8f
  15831: a329f5b
  15823: d4d6752
  15807: d6e1e81
v: v3
  • Loading branch information
Jeff Garzik committed Nov 15, 2005
1 parent 6355238 commit b93263b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1c24a412fd8873bcacba7ed8a1780d12b86b6cb5
refs/heads/master: 68bdbdf0b32566e1ebd41415bde9a7c43b47bf48
25 changes: 15 additions & 10 deletions trunk/drivers/scsi/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,17 @@ static void ahci_intr_error(struct ata_port *ap, u32 irq_stat)
u32 tmp;
int work;

printk(KERN_WARNING "ata%u: port reset, "
"p_is %x is %x pis %x cmd %x tf %x ss %x se %x\n",
ap->id,
irq_stat,
readl(mmio + HOST_IRQ_STAT),
readl(port_mmio + PORT_IRQ_STAT),
readl(port_mmio + PORT_CMD),
readl(port_mmio + PORT_TFDATA),
readl(port_mmio + PORT_SCR_STAT),
readl(port_mmio + PORT_SCR_ERR));

/* stop DMA */
tmp = readl(port_mmio + PORT_CMD);
tmp &= ~PORT_CMD_START;
Expand Down Expand Up @@ -602,13 +613,6 @@ static void ahci_intr_error(struct ata_port *ap, u32 irq_stat)
tmp |= PORT_CMD_START;
writel(tmp, port_mmio + PORT_CMD);
readl(port_mmio + PORT_CMD); /* flush */

printk(KERN_WARNING "ata%u: error occurred, port reset (%s%s%s%s)\n",
ap->id,
irq_stat & PORT_IRQ_TF_ERR ? "taskf " : "",
irq_stat & PORT_IRQ_HBUS_ERR ? "hbus " : "",
irq_stat & PORT_IRQ_HBUS_DATA_ERR ? "hbus_data " : "",
irq_stat & PORT_IRQ_IF_ERR ? "if " : "");
}

static void ahci_eng_timeout(struct ata_port *ap)
Expand All @@ -619,7 +623,7 @@ static void ahci_eng_timeout(struct ata_port *ap)
struct ata_queued_cmd *qc;
unsigned long flags;

DPRINTK("ENTER\n");
printk(KERN_WARNING "ata%u: handling error/timeout\n", ap->id);

spin_lock_irqsave(&host_set->lock, flags);

Expand Down Expand Up @@ -672,8 +676,9 @@ static inline int ahci_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc)
else
err_mask = AC_ERR_HOST_BUS;

if (err_mask != AC_ERR_DEV)
ahci_intr_error(ap, status);
/* command processing has stopped due to error; restart */
ahci_intr_error(ap, status);

if (qc)
ata_qc_complete(qc, err_mask);
}
Expand Down

0 comments on commit b93263b

Please sign in to comment.