Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 126447
b: refs/heads/master
c: 7a38f3c
h: refs/heads/master
i:
  126445: 1395b15
  126443: dc37b63
  126439: ec8eb03
  126431: 030a87e
v: v3
  • Loading branch information
Borislav Petkov authored and Bartlomiej Zolnierkiewicz committed Jan 6, 2009
1 parent 65a637f commit c1dcb9f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 15 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: 744a82b004b0a08d55f579daa55e32d963353edc
refs/heads/master: 7a38f3cf019c4187d3d0e757e1c11b2b460e5b57
21 changes: 7 additions & 14 deletions trunk/drivers/ide/ide-cd.c
Original file line number Diff line number Diff line change
Expand Up @@ -572,24 +572,17 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive)

ide_debug_log(IDE_DBG_PC, "Call %s\n", __func__);

if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
/*
* Here we should have been called after receiving an interrupt
* from the device. DRQ should how be set.
*/

/* check for errors */
if (cdrom_decode_status(drive, ATA_DRQ, NULL))
return ide_stopped;
/* we must wait for DRQ to get set */
if (ide_wait_stat(&startstop, drive, ATA_DRQ, ATA_BUSY, WAIT_READY)) {
printk(KERN_ERR "%s: timeout while waiting for DRQ to assert\n",
drive->name);
return startstop;
}

if (drive->atapi_flags & IDE_AFLAG_DRQ_INTERRUPT) {
/* ok, next interrupt will be DMA interrupt */
if (drive->dma)
drive->waiting_for_dma = 1;
} else {
/* otherwise, we must wait for DRQ to get set */
if (ide_wait_stat(&startstop, drive, ATA_DRQ,
ATA_BUSY, WAIT_READY))
return startstop;
}

/* arm the interrupt handler */
Expand Down

0 comments on commit c1dcb9f

Please sign in to comment.