diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c index 96ffdac330b5f34932ca9f717cf488103bf66f1e..0fd459e724be0a191dc33ee2983842af1a57b45a 100644 --- a/drivers/usb/gadget/printer.c +++ b/drivers/usb/gadget/printer.c @@ -435,7 +435,9 @@ setup_rx_reqs(struct printer_dev *dev) DBG(dev, "rx submit --> %d\n", error); list_add(&req->list, &dev->rx_reqs); break; - } else { + } + /* if the req is empty, then add it into dev->rx_reqs_active. */ + else if (list_empty(&req->list)) { list_add(&req->list, &dev->rx_reqs_active); } }