Hello, I think I found the solution. The problem is that new USB driver for Raspberry Pi uses FIQ in a manner that leads to lockups on SMP systems, while booting of the older non-FIQ driver was broken. The following patch fixes an error and allows to boot the non-FIQ driver: --- drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c index 68534d4..6a006c5 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -1414,8 +1414,12 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) dwc_otg_hc_init(hcd->core_if, hc); local_irq_save(flags); - local_fiq_disable(); - fiq_fsm_spin_lock(&hcd->fiq_state->lock); + + if (fiq_enable) { + local_fiq_disable(); + fiq_fsm_spin_lock(&hcd->fiq_state->lock); + } + /* Enable the top level host channel interrupt. */ intr_enable = (1 << hc->hc_num); DWC_MODIFY_REG32(&hcd->core_if->host_if->host_global_regs->haintmsk, 0, intr_enable); @@ -1423,8 +1427,12 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) /* Make sure host channel interrupts are enabled. */ gintmsk.b.hcintr = 1; DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk, 0, gintmsk.d32); - fiq_fsm_spin_unlock(&hcd->fiq_state->lock); - local_fiq_enable(); + + if (fiq_enable) { + fiq_fsm_spin_unlock(&hcd->fiq_state->lock); + local_fiq_enable(); + } + local_irq_restore(flags); hc->qh = qh; } -- To boot the with the non-FIQ driver add this to the /boot/cmdline.txt: dwc_otg.fiq_enable=0 dwc_otg.fiq_fsm_enable=0 dwc_otg.nak_holdoff=0 Best regards, Mikhail Avkhimenia 09.03.2015, 17:13, "Sebastian Andrzej Siewior" <bigeasy@xxxxxxxxxxxxx>: > * Julien Ciesla | 2015-03-09 01:55:49 [+0000]: >> Same issue on linux raspberrypi 3.18.9 with patch rt4. > > Then disable USB completely. > > Sebastian > -- > To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html