printk(KERN_INFO "scsi%d (%d:%d) New error handler wants to abort command\n\t", SCp->device->host->host_no, SCp->device->id, SCp->device->lun); 
scmd_printk(KERN_INFO, SCp, "New error handler wants to abort command\n\t"); 
NCR_700_abort(struct scsi_cmnd * SCp){	struct NCR_700_command_slot *slot;	printk(KERN_INFO "scsi%d (%d:%d) New error handler wants to abort command\n\t",	       SCp->device->host->host_no, SCp->device->id, SCp->device->lun);	scsi_print_command(SCp);	slot = (struct NCR_700_command_slot *)SCp->host_scribble;	if(slot == NULL)		/* no outstanding command to abort */		return SUCCESS;	if(SCp->cmnd[0] == TEST_UNIT_READY) {		/* FIXME: This is because of a problem in the new		 * error handler.  When it is in error recovery, it		 * will send a TUR to a device it thinks may still be		 * showing a problem.  If the TUR isn't responded to,		 * it will abort it and mark the device off line.		 * Unfortunately, it does no other error recovery, so		 * this would leave us with an outstanding command		 * occupying a slot.  Rather than allow this to		 * happen, we issue a bus reset to force all		 * outstanding commands to terminate here. */		NCR_700_internal_bus_reset(SCp->device->host);		/* still drop through and return failed */	}	return FAILED;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/017560fca496f72ed9dd734ffde63ce39dfe0411/53c700.c/buggy/drivers/scsi/53c700.c