Hi Russell,
I'm working on the port of the USB-Serial layer to the Serial Core [1],
and turns out that most of the USB-Serial drivers does need to sleep in
set_termios(), break_ctl(), get_mctrl() and set_mctrl() calls (which are
not allowed to sleep according to the documentation).
I took a look in the Serial Core code and didn't see why set_termios()
and break_ctl() (plus tx_empty()) are not allowed to sleep: they doesn't
seem to run in atomic context. So, are they allowed to sleep? Isn't the
documentation out of date? I've even submitted a patch to fix it [2].
For get_mctrl() and set_mctrl() it seems possible to switch from a spinlock
to a mutex, as they are not called from an interrupt context. Is this
really possible? Would you agree with this change?
Please, note that your opnion is very important. Both issues makes
the port not possible.
Thanks.
[1] http://distro2.conectiva.com.br/~lcapitulino/patches/usbserial/2.6.17-rc5/serialcore-port-V0/
[2] http://marc.theaimsgroup.com/?l=linux-kernel&m=114979748706523&w=2
--
Luiz Fernando N. Capitulino
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]