Hans J. Koch wrote: > On Tue, Apr 20, 2010 at 06:05:01PM -0700, David Miller wrote: >> From: Wolfgang Grandegger <[email protected]> >>> I think "dev_err(&intf->dev, ...)" should be used before >>> SET_NETDEV_DEV(netdev, &intf->dev) is called. I see two "dev_err()" >>> calls which need to be fixed. >> Agreed. > > Then it should probably look like this:
There are even more dev_err's to be fixed... > From: "Hans J. Koch" <[email protected]> > To: [email protected] > Cc: [email protected], > Sebastian Haas <[email protected]> > Subject: [PATCH] can: Fix possible NULL pointer dereference in ems_usb.c > > In ems_usb_probe(), a pointer is dereferenced after making sure it is NULL... > > This patch replaces netdev->dev.parent with &intf->dev in dev_err() calls to > avoid this. > > Signed-off-by: "Hans J. Koch" <[email protected]> > --- > drivers/net/can/usb/ems_usb.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > Index: net-next-2.6/drivers/net/can/usb/ems_usb.c > =================================================================== > --- net-next-2.6.orig/drivers/net/can/usb/ems_usb.c 2010-04-13 > 11:27:33.000000000 +0200 > +++ net-next-2.6/drivers/net/can/usb/ems_usb.c 2010-04-21 > 11:59:04.000000000 +0200 > @@ -1006,7 +1006,7 @@ > > netdev = alloc_candev(sizeof(struct ems_usb), MAX_TX_URBS); > if (!netdev) { > - dev_err(netdev->dev.parent, "Couldn't alloc candev\n"); > + dev_err(&intf->dev, "ems_usb: Couldn't alloc candev\n"); > return -ENOMEM; > } > > @@ -1036,20 +1036,20 @@ > > dev->intr_urb = usb_alloc_urb(0, GFP_KERNEL); > if (!dev->intr_urb) { > - dev_err(netdev->dev.parent, "Couldn't alloc intr URB\n"); > + dev_err(&intf->dev, "Couldn't alloc intr URB\n"); > goto cleanup_candev; > } > > dev->intr_in_buffer = kzalloc(INTR_IN_BUFFER_SIZE, GFP_KERNEL); > if (!dev->intr_in_buffer) { > - dev_err(netdev->dev.parent, "Couldn't alloc Intr buffer\n"); > + dev_err(&intf->dev, "Couldn't alloc Intr buffer\n"); > goto cleanup_intr_urb; > } > > dev->tx_msg_buffer = kzalloc(CPC_HEADER_SIZE + > sizeof(struct ems_cpc_msg), GFP_KERNEL); > if (!dev->tx_msg_buffer) { > - dev_err(netdev->dev.parent, "Couldn't alloc Tx buffer\n"); > + dev_err(&intf->dev, "Couldn't alloc Tx buffer\n"); > goto cleanup_intr_in_buffer; > } Acked-by: Wolfgang Grandegger <[email protected]> _______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
