--- drivers/scsi/aic7xxx/aic79xx_core.c.orig Fri Dec 13 15:31:43 2002 +++ drivers/scsi/aic7xxx/aic79xx_core.c Fri Dec 20 11:01:03 2002 @@ -866,6 +866,11 @@ ahd_handle_seqint(struct ahd_softc *ahd, ahd_freeze_devq(ahd, scb); ahd_set_transaction_status(scb, CAM_DATA_RUN_ERR); ahd_freeze_scb(scb); + /* + * Reset on data overrun, avoids a hang, and it should + * happen later anyway. - ARCress + */ + ahd_reset_channel(ahd, 'A', /*Initiate Reset*/TRUE); break; } case MKMSG_FAILED: --- drivers/scsi/aic7xxx/aic79xx_osm.c.orig Fri Dec 20 11:18:48 2002 +++ drivers/scsi/aic7xxx/aic79xx_osm.c Fri Dec 20 11:17:15 2002 @@ -4210,6 +4210,10 @@ ahd_send_async(struct ahd_softc *ahd, ch case AC_SENT_BDR: break; case AC_BUS_RESET: + /* Log the bus reset - ARCress */ + printf(KERN_INFO "(scsi%d:%d:0:0) bus_reset, code=%x\n", + ahd->platform_data->host->host_no, + channel - 'A', code); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) if (ahd->platform_data->host != NULL) { scsi_report_bus_reset(ahd->platform_data->host,