Skip to content

Commit

Permalink
[PATCH] zd1211rw, fix oops when ejecting install media
Browse files Browse the repository at this point in the history
The disconnect function can dereference the net_device structure when it
is never allocated. This is the case when ejecting the device installer.

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Acked-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Marc Pignat authored and John W. Linville committed Oct 18, 2007
1 parent 208eec8 commit e0579d5
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/net/wireless/zd1211rw/zd_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1044,14 +1044,17 @@ static int probe(struct usb_interface *intf, const struct usb_device_id *id)
static void disconnect(struct usb_interface *intf)
{
struct net_device *netdev = zd_intf_to_netdev(intf);
struct zd_mac *mac = zd_netdev_mac(netdev);
struct zd_usb *usb = &mac->chip.usb;
struct zd_mac *mac;
struct zd_usb *usb;

/* Either something really bad happened, or we're just dealing with
* a DEVICE_INSTALLER. */
if (netdev == NULL)
return;

mac = zd_netdev_mac(netdev);
usb = &mac->chip.usb;

dev_dbg_f(zd_usb_dev(usb), "\n");

zd_netdev_disconnect(netdev);
Expand Down

0 comments on commit e0579d5

Please sign in to comment.