Message ID | 20210208154806.20853-1-johan@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 1542d1324be1191d970f69c55e885af5dd810b84 |
Headers | show |
Series | USB: serial: drop bogus to_usb_serial_port() checks | expand |
On Mon, Feb 08, 2021 at 04:48:06PM +0100, Johan Hovold wrote: > The to_usb_serial_port() macro is implemented using container_of() so > there's no need to check for NULL. > > Note that neither bus match() or probe() is ever called with a NULL > struct device pointer so the checks weren't just misplaced. > > Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
On 2/8/21 4:48 PM, Johan Hovold wrote: > The to_usb_serial_port() macro is implemented using container_of() so > there's no need to check for NULL. > > Note that neither bus match() or probe() is ever called with a NULL > struct device pointer so the checks weren't just misplaced. > > Signed-off-by: Johan Hovold <johan@kernel.org> Reviewed-by: Uwe Kleine-König <uwe@kleine-koenig.org> Thanks Uwe
On Mon, Feb 08, 2021 at 06:06:38PM +0100, Uwe Kleine-König wrote: > On 2/8/21 4:48 PM, Johan Hovold wrote: > > The to_usb_serial_port() macro is implemented using container_of() so > > there's no need to check for NULL. > > > > Note that neither bus match() or probe() is ever called with a NULL > > struct device pointer so the checks weren't just misplaced. > > > > Signed-off-by: Johan Hovold <johan@kernel.org> > > Reviewed-by: Uwe Kleine-König <uwe@kleine-koenig.org> Thanks Uwe and Greg for reviewing. Now applied. Johan
diff --git a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c index 1a8c7821d00a..7133818a58b9 100644 --- a/drivers/usb/serial/bus.c +++ b/drivers/usb/serial/bus.c @@ -16,19 +16,13 @@ static int usb_serial_device_match(struct device *dev, struct device_driver *drv) { - struct usb_serial_driver *driver; - const struct usb_serial_port *port; + const struct usb_serial_port *port = to_usb_serial_port(dev); + struct usb_serial_driver *driver = to_usb_serial_driver(drv); /* * drivers are already assigned to ports in serial_probe so it's * a simple check here. */ - port = to_usb_serial_port(dev); - if (!port) - return 0; - - driver = to_usb_serial_driver(drv); - if (driver == port->serial->type) return 1; @@ -37,16 +31,12 @@ static int usb_serial_device_match(struct device *dev, static int usb_serial_device_probe(struct device *dev) { + struct usb_serial_port *port = to_usb_serial_port(dev); struct usb_serial_driver *driver; - struct usb_serial_port *port; struct device *tty_dev; int retval = 0; int minor; - port = to_usb_serial_port(dev); - if (!port) - return -ENODEV; - /* make sure suspend/resume doesn't race against port_probe */ retval = usb_autopm_get_interface(port->serial->interface); if (retval)
The to_usb_serial_port() macro is implemented using container_of() so there's no need to check for NULL. Note that neither bus match() or probe() is ever called with a NULL struct device pointer so the checks weren't just misplaced. Signed-off-by: Johan Hovold <johan@kernel.org> --- drivers/usb/serial/bus.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-)