Re: Linux 2.4.21-rc1

Stephan von Krawczynski (skraw@ithnet.com)
Mon, 21 Apr 2003 21:58:24 +0200


On Mon, 21 Apr 2003 15:47:32 -0300 (BRT)
Marcelo Tosatti <marcelo@conectiva.com.br> wrote:

>
> Here goes the first candidate for 2.4.21.
>
> Please test it extensively.

Hello Marcelo,

please consider below patch for inclusion. It prevents ide-scsi from freezing
the box under certain CD-burning activities. This is a bugfix. "rq->buffer"
gets trashed under certain conditions.

Rediffed to 2.4.21-rc1.

Thanks,
Stephan

--- linux/drivers/scsi/ide-scsi.c-orig 2003-04-21 21:41:05.000000000 +0200
+++ linux/drivers/scsi/ide-scsi.c 2003-04-21 21:42:11.000000000 +0200
@@ -321,7 +321,7 @@
{
idescsi_scsi_t *scsi = drive->driver_data;
struct request *rq = HWGROUP(drive)->rq;
- idescsi_pc_t *pc = (idescsi_pc_t *) rq->buffer;
+ idescsi_pc_t *pc = rq->special;
int log = test_bit(IDESCSI_LOG_CMD, &scsi->log);
u8 *scsi_buf;
unsigned long flags;
@@ -587,7 +587,7 @@
#endif /* IDESCSI_DEBUG_LOG */

if (rq->cmd == IDESCSI_PC_RQ) {
- return idescsi_issue_pc(drive, (idescsi_pc_t *) rq->buffer);
+ return idescsi_issue_pc (drive, rq->special);
}
printk(KERN_ERR "ide-scsi: %s: unsupported command in request "
"queue (%x)\n", drive->name, rq->cmd);
@@ -1083,7 +1083,7 @@
}

ide_init_drive_cmd(rq);
- rq->buffer = (char *) pc;
+ rq->special = pc;
rq->bh = idescsi_dma_bh(drive, pc);
rq->cmd = IDESCSI_PC_RQ;
spin_unlock_irq(&io_request_lock);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/