>>>>> "Grant" == Grant Likely <[EMAIL PROTECTED]> writes:

Hi,

 Grant> I've now merged the driver into my tree and tested it.

 Grant> The good news is that using only one device node is absolutely
 Grant> no problem.  It works without error or complaint and sysfs
 Grant> looks sane.

Great.

 Grant> The bad news is that I discovered a race condition on
 Grant> initialization.  The problem is that IRQs are enabled before
 Grant> the SIEs are configured.  The interrupt handler is firing
 Grant> immediately and tries to get the status of each SIE.  Since
 Grant> the SIE probe has not yet occured, sie->dev is NULL and we get
 Grant> a kernel oops when c67x00_ll_get_siemsg() tries to dereference
 Grant> it.

Not so great. I unfortunately don't see it here.

 Grant> However, register_irq() cannot be easily moved to after the
 Grant> SIE probe because the current probe code depends on interrupts
 Grant> being enabled.  Below is an ugly workaround that solves the
 Grant> problem to me, but there is probably a better solution.

Wouldn't it be simpler to just add a if (sie->dev) check to
_ll_get_siemsg()? Or doesn't the hcd init properly reinitialize the
device?

-- 
Bye, Peter Korsgaard
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to