On Mon, Jun 20, 2022 at 06:08:19PM +0200, Andy Shevchenko wrote: > On Mon, Jun 20, 2022 at 12:26 PM Johan Hovold <johan@xxxxxxxxxx> wrote: > > On Wed, Jun 15, 2022 at 08:37:45PM -0500, frank zago wrote: > > ... > > > > + /* Create an URB for handling interrupt */ > > > + dev->irq_urb = usb_alloc_urb(0, GFP_KERNEL); > > > + if (!dev->irq_urb) > > > + return dev_err_probe(&pdev->dev, -ENOMEM, "Cannot allocate the int URB\n"); > > > > This isn't how dev_err_probe() is used. > > While I agree on the below comment, what does this imply? That you should only use dev_err_probe() to handle -EPROBE_DEFER. That's what it is was added for, documented as, and it is what the implementation still tells you. I see now that there has recently been some mission creep: 7065f92255bb ("driver core: Clarify that dev_err_probe() is OK even w/out -EPROBE_DEFER") I'm not sure I agree with that, but fortunately we don't need to have that debate in this case due to the below. > > And allocation failures are already logged so just return -ENOMEM here. Johan