Message ID | 20110708134525.GA5069@kroah.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Greg KH <greg@kroah.com> Date: Fri, 8 Jul 2011 06:45:25 -0700 > This needs to go to netdev: > > From: Octavian Purdila <octavian.purdila@intel.com> > > In hso_free_net_device hso_net pointer is freed and then used to > cleanup urb pools. Catched with SLAB_DEBUG during S3 resume: ... > Signed-off-by: Octavian Purdila <octavian.purdila@intel.com> > Signed-off-by: Alan Cox <alan@linux.intel.com> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 387ca43..304fe78 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -2421,10 +2421,8 @@ static void hso_free_net_device(struct hso_device *hso_dev) remove_net_device(hso_net->parent); - if (hso_net->net) { + if (hso_net->net) unregister_netdev(hso_net->net); - free_netdev(hso_net->net); - } /* start freeing */ for (i = 0; i < MUX_BULK_RX_BUF_COUNT; i++) { @@ -2436,6 +2434,9 @@ static void hso_free_net_device(struct hso_device *hso_dev) kfree(hso_net->mux_bulk_tx_buf); hso_net->mux_bulk_tx_buf = NULL; + if (hso_net->net) + free_netdev(hso_net->net); + kfree(hso_dev); }