ide-cd: fix 'ireason' reporting in cdrom_pc_intr()
PATCH 9/63 ide-cd: fix 'ireason' reporting in cdrom_pc_intr()
Mask 'ireason' variable so only the valid interrupt reason bits will be reported on "drive appears confused" error.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-cd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/ide/ide-cd.c +3 -3
@@ -1440,7 +1440,7 @@ static ide_startstop_t cdrom_pc_intr (idreturn ide_stopped;/* Read the interrupt reason and the transfer length. */ - ireason =HWIF (drive)->INB (IDE_IREASON_REG ); + ireason =HWIF (drive)->INB (IDE_IREASON_REG ) &0x3 ; lowcyl =HWIF (drive)->INB (IDE_BCOUNTL_REG ); highcyl =HWIF (drive)->INB (IDE_BCOUNTH_REG );
@@ -1481,7 +1481,7 @@ static ide_startstop_t cdrom_pc_intr (idif (thislen > len) thislen = len;/* The drive wants to be written to. */ -if ((ireason &3 ) ==0 ) { +if (ireason ==0 ) {if (!rq->data) {blk_dump_rq_flags (rq,"cdrom_pc_intr, write" ); goto confused;
@@ -1503,7 +1503,7 @@ static ide_startstop_t cdrom_pc_intr (id }/* Same drill for reading. */ -else if ((ireason &3 ) ==2 ) { +else if (ireason ==2 ) {if (!rq->data) {blk_dump_rq_flags (rq,"cdrom_pc_intr, read" ); goto confused;
Quoted 4 lines · Bartlomiej Zolnierkiewicz
Mask 'ireason' variable so only the valid interrupt reason bits will be reported on "drive appears confused" error.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Acked-by Sergei Shtylyov <[email protected]>
MBR, Sergei