Re: Re: Calling scsi_done from queuecommand()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>On Thu, 2006-01-12 at 11:57 +0800, Zhikun Wang wrote:
> Hi list, 
> 	Can we call scsi_done() to complete the I/O from the queuecommand() ? 

>>yes that should be fine *IF THE COMMAND COMPLETED*. (for example that
>>can be done for battery backed ram cards)

> (e.g. to make queuecommand synchronous). 
> 	I try this method in my LsiLogic 22320 SCSI card driver 

>>but... that sounds unlikely to be right. That is real scsi, which means
>>you have to wait a REALLY long time (easily 5 miliseconds) before the
>>command completes, and you cannot sleep in queuecommand (it's called
>>from interrupt context). So this sounds really fishy

I intend to use a global variable to make queuecommand synchronously. In the <queuecommand function> i set the global variable to 0.
	......
	global = 0;
	......
	while(!global)
    	barrier();
    SCpnt->scsi_done(SCpnt);
	......
When the command completes, in the <interrupt routine> i set the global variable to 1.
	......
	global = 1;
    ......
this method works for read command, but write command will stop at scsi_done routine and then timeout!
i am very puzzled about this!

> in Redhat9,

>>you do realize you're using a truely antique linux kernel/distribution
>>there, right? I suggest you go to a far more recent (and an actual
>>maintained) distribution

i know Redhat9 is out of time, but i must use this kernel/distribution
in my project!



-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux