コード例 #1
0
ファイル: microtek.c プロジェクト: davidbau/davej
static int mts_scsi_abort (Scsi_Cmnd *srb)
/* interrupt context (!) */ /* FIXME this is about to become task context */
{
	struct mts_desc* desc = (struct mts_desc*)(srb->host->hostdata[0]);

	MTS_DEBUG_GOT_HERE();
	
	mts_request_abort(desc);
	mts_urb_abort(desc);
	
	return SCSI_ABORT_PENDING;
}
コード例 #2
0
static inline void mts_wait_abort(struct mts_desc* desc)
{
	mts_request_abort(desc);

	while( !atomic_read(&desc->lock.count) ) {
/* Is there a function to check if the semaphore is locked? */
		schedule_timeout( MTS_ABORT_TIMEOUT ); 
		MTS_DEBUG_GOT_HERE();
		mts_urb_abort(desc);
	}

}