RE: PROBLEM: kernel oops with g_serial USB gadget on 2.6.30



Hello,

On Tuesday, June 23, 2009 11:21 AM, Alan Cox wrote:

that g_serial driver interacts with tty layer in that packet_done
callback,
so this is the source of the problems. I noticed that some other UDC
drivers also does all its job from an interrupt, so they also might
be
affected. How this bug should be properly resolved?

Either by not setting ->low_latency or by running the data paths from a
non IRQ context.

Basically: don't set tty->low_latency if you are handling the
processing
from the IRQ path. The only case low_latency is useful is handling data
from a non-IRQ path where you have latency concerns for tx/rx
switching.

I know that, but I wonder how this should be handled in g_serial gadget
driver, which might be working on top of both types of low level
drivers (doing callback from irq or tasklet).

Are there any drawbacks of disabling low_latency mode if callbacks are
done from tasklet not from interrupt? If no then the low latency mode
should be disabled in g_serial driver.

Best regards
--
Marek Szyprowski
Samsung Poland R&D Center


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Polling loop good here???
    ... The "vertical retrace interrupt" was IRQ 2... ... In today's hardware - as has been mentioned - they've almost certainly ... it...make use of the drivers... ...
    (alt.lang.asm)
  • Re: [RFC] killing the NR_IRQS arrays.
    ... Subject: IRQ API ... interrupt controllers, and knowing hardware designers, they'll ... I believe that there are some common problems with the existing API ... architecture specific drivers now if they feel they would benefit ...
    (Linux-Kernel)
  • Re: IRQ assignment in Windows 2K/XP/2003...
    ... Both PCI devices request an interrupt and are physically attached to INTA ... When the drivers load for each of the two devices, ... dynamically assigns an IRQ # for each of the two devices. ...
    (microsoft.public.development.device.drivers)
  • Re: Threaded interrupts for synaptic touchscreen in HTC dream
    ... Ordinary devices on interrupt driven or slow buses like I2C. ... most of the time the only option they've got is to disable the IRQ ... controller on them and would like to expose that interrupt controller ... without races which is a big plus for me since very few drivers get it ...
    (Linux-Kernel)
  • Re: x86, shared IRQ. how to track down the culprit?
    ... IRQ20 is being shared by drivers with different interrupt levels. ... The vector value is the IRQ assigned, and you will probably find two entries ... It means the BIOS has assigned two PCI devices the same IRQ ...
    (comp.unix.solaris)