Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 42145
b: refs/heads/master
c: ea54763
h: refs/heads/master
i:
  42143: 1e328fb
v: v3
  • Loading branch information
Tejun Heo committed Dec 3, 2006
1 parent f0c26f5 commit 9a0ee37
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 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: f84e7e41e1b88547218a3c3b1eb528005e9afdb4
refs/heads/master: ea54763f8a7c51b9f8fcb14431812ae63fcbaf96
6 changes: 6 additions & 0 deletions trunk/drivers/ata/libata-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -4937,6 +4937,7 @@ unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc)
inline unsigned int ata_host_intr (struct ata_port *ap,
struct ata_queued_cmd *qc)
{
struct ata_eh_info *ehi = &ap->eh_info;
u8 status, host_stat = 0;

VPRINTK("ata%u: protocol %d task_state %d\n",
Expand Down Expand Up @@ -4997,6 +4998,11 @@ inline unsigned int ata_host_intr (struct ata_port *ap,
ap->ops->irq_clear(ap);

ata_hsm_move(ap, qc, status, 0);

if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA ||
qc->tf.protocol == ATA_PROT_ATAPI_DMA))
ata_ehi_push_desc(ehi, "BMDMA stat 0x%x", host_stat);

return 1; /* irq handled */

idle_irq:
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/ata/libata-sff.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,6 @@ void ata_bmdma_drive_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
ata_postreset_fn_t postreset)
{
struct ata_eh_context *ehc = &ap->eh_context;
struct ata_queued_cmd *qc;
unsigned long flags;
int thaw = 0;
Expand All @@ -763,8 +762,6 @@ void ata_bmdma_drive_eh(struct ata_port *ap, ata_prereset_fn_t prereset,

host_stat = ap->ops->bmdma_status(ap);

ata_ehi_push_desc(&ehc->i, "BMDMA stat 0x%x", host_stat);

/* BMDMA controllers indicate host bus error by
* setting DMA_ERR bit and timing out. As it wasn't
* really a timeout event, adjust error mask and
Expand Down
5 changes: 5 additions & 0 deletions trunk/drivers/ata/sata_sil.c
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ static void sil_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val)

static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
{
struct ata_eh_info *ehi = &ap->eh_info;
struct ata_queued_cmd *qc = ata_qc_from_tag(ap, ap->active_tag);
u8 status;

Expand Down Expand Up @@ -428,6 +429,10 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
/* kick HSM in the ass */
ata_hsm_move(ap, qc, status, 0);

if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA ||
qc->tf.protocol == ATA_PROT_ATAPI_DMA))
ata_ehi_push_desc(ehi, "BMDMA2 stat 0x%x", bmdma2);

return;

err_hsm:
Expand Down

0 comments on commit 9a0ee37

Please sign in to comment.