patch-2.4.0-test10 linux/drivers/scsi/ide-scsi.c

Next file: linux/drivers/scsi/imm.c
Previous file: linux/drivers/scsi/hosts.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test9/linux/drivers/scsi/ide-scsi.c linux/drivers/scsi/ide-scsi.c
@@ -430,12 +430,12 @@
 	if (drive->using_dma && rq->bh)
 		dma_ok=!HWIF(drive)->dmaproc(test_bit (PC_WRITING, &pc->flags) ? ide_dma_write : ide_dma_read, drive);
 
+	SELECT_DRIVE(HWIF(drive), drive);
 	if (IDE_CONTROL_REG)
 		OUT_BYTE (drive->ctl,IDE_CONTROL_REG);
 	OUT_BYTE (dma_ok,IDE_FEATURE_REG);
 	OUT_BYTE (bcount >> 8,IDE_BCOUNTH_REG);
 	OUT_BYTE (bcount & 0xff,IDE_BCOUNTL_REG);
-	OUT_BYTE (drive->select.all,IDE_SELECT_REG);
 
 	if (dma_ok) {
 		set_bit (PC_DMA_IN_PROGRESS, &pc->flags);
@@ -608,6 +608,9 @@
 
 	host_template->proc_name = "ide-scsi";
 	host = scsi_register(host_template, 0);
+	if(host == NULL)
+		return 0;
+		
 	for (id = 0; id < MAX_HWIFS * MAX_DRIVES && idescsi_drives[id]; id++)
 		last_lun = IDE_MAX(last_lun, idescsi_drives[id]->last_lun);
 	host->max_id = id;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)