Hi Greg !

At 10:10 AM 11/8/01 -0800, Greg KH wrote:
>What kernel version are you looking at?  That check has been removed
>from the code for a few months now.

   Kernel version: 2.4.2
   Would you send me the patch or link for latest bluetooth.c.

> >Seriously, the bluetooth_write() function can sleep, so it can not be
> >called from interrupt context.

   I think bluetooth_write( tty->ttydriver->write) function need not to be 
a blocking call always.
   I mean, ttydriver write function are implemented in such way that it can 
be either called from
   process context or an interrupt context.
         Some what similar to the way in which PPP line-discipline access 
serial driver( tty driver) in linux. Here, PPP invokes serial driver write 
function in process context or an interrupt context. serial driver write 
function has to just copy the data into its own transfer buffer and 
transmit them later.
          Similary bluetooth_write in Bluetooth driver has to copy the data 
into its transfer buffers and submit Write URBS non-blockingly.Then 
Bluetooth_write function can be still invoked from interrupt context safely.

 > What would happen, if i try to write queued Cmd pkts or ACL pkts from
 > an immediate bottom-half handler.
 >What Bluetooth stack on Linux does this?

   I think axis stack.does. I have seen some of the immediate task queues 
are dedicated to do
   this job in their sources. I mean scheduling of queued ACL or CMD pkts 
will be done in interrupt context rather than in process context.

Thanks
Praveen.M



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to