diff options
Diffstat (limited to 'drivers/net/wireless/libertas/main.c')
-rw-r--r-- | drivers/net/wireless/libertas/main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c index 0c39bcd..b05a6f9 100644 --- a/drivers/net/wireless/libertas/main.c +++ b/drivers/net/wireless/libertas/main.c @@ -763,7 +763,7 @@ static int wlan_service_main_thread(void *data) * @param card A pointer to card * @return A pointer to wlan_private structure */ -wlan_private *libertas_add_card(void *card) +wlan_private *libertas_add_card(void *card, struct device *dmdev) { struct net_device *dev = NULL; wlan_private *priv = NULL; @@ -808,6 +808,8 @@ wlan_private *libertas_add_card(void *card) dev->flags |= IFF_BROADCAST | IFF_MULTICAST; dev->set_multicast_list = wlan_set_multicast_list; + SET_NETDEV_DEV(dev, dmdev); + INIT_LIST_HEAD(&priv->adapter->cmdfreeq); INIT_LIST_HEAD(&priv->adapter->cmdpendingq); @@ -891,7 +893,7 @@ EXPORT_SYMBOL_GPL(libertas_activate_card); * @param priv A pointer to the wlan_private structure * @return 0 if successful, -X otherwise */ -int libertas_add_mesh(wlan_private *priv) +int libertas_add_mesh(wlan_private *priv, struct device *dev) { struct net_device *mesh_dev = NULL; int ret = 0; @@ -918,6 +920,8 @@ int libertas_add_mesh(wlan_private *priv) memcpy(mesh_dev->dev_addr, priv->dev->dev_addr, sizeof(priv->dev->dev_addr)); + SET_NETDEV_DEV(priv->mesh_dev, dev); + #ifdef WIRELESS_EXT mesh_dev->wireless_handlers = (struct iw_handler_def *)&libertas_handler_def; #endif |