> @@ -606,11 +616,20 @@ static void smsc95xx_status(struct usbnet *dev, struct urb *urb) > intdata = get_unaligned_le32(urb->transfer_buffer); > netif_dbg(dev, link, dev->net, "intdata: 0x%08X\n", intdata); > > + /* USB interrupts are received in softirq (tasklet) context. > + * Switch to hardirq context to make genirq code happy. > + */ > + local_irq_save(flags); > + __irq_enter_raw(); > + > if (intdata & INT_ENP_PHY_INT_) > - ; > + generic_handle_domain_irq(pdata->irqdomain, PHY_HWIRQ); > else > netdev_warn(dev->net, "unexpected interrupt, intdata=0x%08X\n", > intdata); Ah, O.K, forget my previous comment. Maybe add something to the commit message that the ; will soon be replaced by a call to actually handle the interrupt. Andrew