Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 83349
b: refs/heads/master
c: 64a57fe
h: refs/heads/master
i:
  83347: f10aa47
v: v3
  • Loading branch information
Bartlomiej Zolnierkiewicz committed Feb 6, 2008
1 parent 1ac1b95 commit a2e63a2
Show file tree
Hide file tree
Showing 9 changed files with 19 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: c47137a99c597330b69057158b26061a360c0e09
refs/heads/master: 64a57fe4393bae920d03c253173f59d8a7ec8e25
2 changes: 1 addition & 1 deletion trunk/drivers/ide/ide-cd.c
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret)
return 0;

/* Get the IDE error register. */
err = HWIF(drive)->INB(IDE_ERROR_REG);
err = ide_read_error(drive);
sense_key = err >> 4;

if (rq == NULL) {
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ide/ide-floppy.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ static void idefloppy_retry_pc(ide_drive_t *drive)
idefloppy_pc_t *pc;
struct request *rq;

(void)drive->hwif->INB(IDE_ERROR_REG);
(void)ide_read_error(drive);
pc = idefloppy_next_pc_storage(drive);
rq = idefloppy_next_rq_storage(drive);
idefloppy_create_request_sense_cmd(pc);
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/ide/ide-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -821,8 +821,8 @@ static ide_startstop_t execute_drive_cmd (ide_drive_t *drive,
#ifdef DEBUG
printk("%s: DRIVE_CMD (null)\n", drive->name);
#endif
ide_end_drive_cmd(drive, ide_read_status(drive),
hwif->INB(IDE_ERROR_REG));
ide_end_drive_cmd(drive, ide_read_status(drive), ide_read_error(drive));

return ide_stopped;
}

Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/ide/ide-iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -918,7 +918,9 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive)
drive->failures++;
} else {
printk("%s: reset: ", hwif->name);
if ((tmp = hwif->INB(IDE_ERROR_REG)) == 1) {
tmp = ide_read_error(drive);

if (tmp == 1) {
printk("success\n");
drive->failures = 0;
} else {
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ide/ide-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ u8 ide_dump_status(ide_drive_t *drive, const char *msg, u8 stat)
}
printk("}\n");
if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
err = drive->hwif->INB(IDE_ERROR_REG);
err = ide_read_error(drive);
printk("%s: %s: error=0x%02x ", drive->name, msg, err);
if (drive->media == ide_disk)
ide_dump_ata_error(drive, err);
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/ide/ide-tape.c
Original file line number Diff line number Diff line change
Expand Up @@ -1125,7 +1125,7 @@ static ide_startstop_t idetape_retry_pc (ide_drive_t *drive)
idetape_pc_t *pc;
struct request *rq;

(void)drive->hwif->INB(IDE_ERROR_REG);
(void)ide_read_error(drive);
pc = idetape_next_pc_storage(drive);
rq = idetape_next_rq_storage(drive);
idetape_create_request_sense_cmd(pc);
Expand Down
5 changes: 2 additions & 3 deletions trunk/drivers/ide/ide-taskfile.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,6 @@ static ide_startstop_t recal_intr(ide_drive_t *drive)
static ide_startstop_t task_no_data_intr(ide_drive_t *drive)
{
ide_task_t *args = HWGROUP(drive)->rq->special;
ide_hwif_t *hwif = HWIF(drive);
u8 stat;

local_irq_enable_in_hardirq();
Expand All @@ -252,7 +251,7 @@ static ide_startstop_t task_no_data_intr(ide_drive_t *drive)
/* calls ide_end_drive_cmd */

if (args)
ide_end_drive_cmd(drive, stat, hwif->INB(IDE_ERROR_REG));
ide_end_drive_cmd(drive, stat, ide_read_error(drive));

return ide_stopped;
}
Expand Down Expand Up @@ -408,7 +407,7 @@ static ide_startstop_t task_error(ide_drive_t *drive, struct request *rq,
void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat)
{
if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE) {
u8 err = drive->hwif->INB(IDE_ERROR_REG);
u8 err = ide_read_error(drive);

ide_end_drive_cmd(drive, stat, err);
return;
Expand Down
7 changes: 7 additions & 0 deletions trunk/include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -1323,4 +1323,11 @@ static inline u8 ide_read_altstatus(ide_drive_t *drive)
return hwif->INB(hwif->io_ports[IDE_CONTROL_OFFSET]);
}

static inline u8 ide_read_error(ide_drive_t *drive)
{
ide_hwif_t *hwif = drive->hwif;

return hwif->INB(hwif->io_ports[IDE_ERROR_OFFSET]);
}

#endif /* _IDE_H */

0 comments on commit a2e63a2

Please sign in to comment.