Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> writes: > @@ -411,7 +414,7 @@ static int _hardware_enqueue(struct ci13xxx_ep *mEp, struct ci13xxx_req *mReq) > mReq->req.status = -EALREADY; > > if (mReq->req.zero && length && (length % mEp->ep.maxpacket == 0)) { > - mReq->zptr = dma_pool_alloc(mEp->td_pool, GFP_ATOMIC, > + mReq->zptr = dma_pool_alloc(mEp->td_pool, gfp_flags, > &mReq->zdma); This means that the first gadget to call usb_ep_queue(..., GFP_KERNEL) will blow up. Try mass_storage with lockdep enabled. You're testing this code, right? Regards, -- Alex -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html