Loading drivers/bluetooth/btusb.c +6 −0 Original line number Diff line number Diff line Loading @@ -72,9 +72,15 @@ static struct usb_device_id btusb_table[] = { /* Apple MacBookAir3,1, MacBookAir3,2 */ { USB_DEVICE(0x05ac, 0x821b) }, /* Apple MacBookAir4,1 */ { USB_DEVICE(0x05ac, 0x821f) }, /* Apple MacBookPro8,2 */ { USB_DEVICE(0x05ac, 0x821a) }, /* Apple MacMini5,1 */ { USB_DEVICE(0x05ac, 0x8281) }, /* AVM BlueFRITZ! USB v2.0 */ { USB_DEVICE(0x057c, 0x3800) }, Loading drivers/bluetooth/btwilink.c +8 −8 Original line number Diff line number Diff line Loading @@ -124,6 +124,13 @@ static long st_receive(void *priv_data, struct sk_buff *skb) /* ------- Interfaces to HCI layer ------ */ /* protocol structure registered with shared transport */ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = { { .chnl_id = HCI_EVENT_PKT, /* HCI Events */ .hdr_len = sizeof(struct hci_event_hdr), .offset_len_in_hdr = offsetof(struct hci_event_hdr, plen), .len_size = 1, /* sizeof(plen) in struct hci_event_hdr */ .reserve = 8, }, { .chnl_id = HCI_ACLDATA_PKT, /* ACL */ .hdr_len = sizeof(struct hci_acl_hdr), Loading @@ -138,13 +145,6 @@ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = { .len_size = 1, /* sizeof(dlen) in struct hci_sco_hdr */ .reserve = 8, }, { .chnl_id = HCI_EVENT_PKT, /* HCI Events */ .hdr_len = sizeof(struct hci_event_hdr), .offset_len_in_hdr = offsetof(struct hci_event_hdr, plen), .len_size = 1, /* sizeof(plen) in struct hci_event_hdr */ .reserve = 8, }, }; /* Called from HCI core to initialize the device */ Loading Loading @@ -240,7 +240,7 @@ static int ti_st_close(struct hci_dev *hdev) if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags)) return 0; for (i = 0; i < MAX_BT_CHNL_IDS; i++) { for (i = MAX_BT_CHNL_IDS-1; i >= 0; i--) { err = st_unregister(&ti_st_proto[i]); if (err) BT_ERR("st_unregister(%d) failed with error %d", Loading drivers/net/wireless/b43/main.c +2 −1 Original line number Diff line number Diff line Loading @@ -1632,7 +1632,8 @@ static void handle_irq_beacon(struct b43_wldev *dev) u32 cmd, beacon0_valid, beacon1_valid; if (!b43_is_mode(wl, NL80211_IFTYPE_AP) && !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT)) !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) && !b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) return; /* This is the bottom half of the asynchronous beacon update. */ Loading drivers/net/wireless/ipw2x00/ipw2100.c +14 −7 Original line number Diff line number Diff line Loading @@ -1901,17 +1901,19 @@ static void ipw2100_down(struct ipw2100_priv *priv) /* Called by register_netdev() */ static int ipw2100_net_init(struct net_device *dev) { struct ipw2100_priv *priv = libipw_priv(dev); return ipw2100_up(priv, 1); } static int ipw2100_wdev_init(struct net_device *dev) { struct ipw2100_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; int ret; int i; ret = ipw2100_up(priv, 1); if (ret) return ret; memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN); /* fill-out priv->ieee->bg_band */ Loading Loading @@ -6350,9 +6352,13 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, "Error calling register_netdev.\n"); goto fail; } registered = 1; err = ipw2100_wdev_init(dev); if (err) goto fail; mutex_lock(&priv->action_mutex); registered = 1; IPW_DEBUG_INFO("%s: Bound to %s\n", dev->name, pci_name(pci_dev)); Loading Loading @@ -6389,7 +6395,8 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, fail_unlock: mutex_unlock(&priv->action_mutex); wiphy_unregister(priv->ieee->wdev.wiphy); kfree(priv->ieee->bg_band.channels); fail: if (dev) { if (registered) Loading drivers/net/wireless/ipw2x00/ipw2200.c +26 −13 Original line number Diff line number Diff line Loading @@ -11425,17 +11425,24 @@ static void ipw_bg_down(struct work_struct *work) /* Called by register_netdev() */ static int ipw_net_init(struct net_device *dev) { int i, rc = 0; int rc = 0; struct ipw_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; mutex_lock(&priv->mutex); if (ipw_up(priv)) { mutex_lock(&priv->mutex); if (ipw_up(priv)) rc = -EIO; goto out; mutex_unlock(&priv->mutex); return rc; } static int ipw_wdev_init(struct net_device *dev) { int i, rc = 0; struct ipw_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN); /* fill-out priv->ieee->bg_band */ Loading Loading @@ -11519,13 +11526,9 @@ static int ipw_net_init(struct net_device *dev) set_wiphy_dev(wdev->wiphy, &priv->pci_dev->dev); /* With that information in place, we can now register the wiphy... */ if (wiphy_register(wdev->wiphy)) { if (wiphy_register(wdev->wiphy)) rc = -EIO; goto out; } out: mutex_unlock(&priv->mutex); return rc; } Loading Loading @@ -11832,14 +11835,22 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev, goto out_remove_sysfs; } err = ipw_wdev_init(net_dev); if (err) { IPW_ERROR("failed to register wireless device\n"); goto out_unregister_netdev; } #ifdef CONFIG_IPW2200_PROMISCUOUS if (rtap_iface) { err = ipw_prom_alloc(priv); if (err) { IPW_ERROR("Failed to register promiscuous network " "device (error %d).\n", err); unregister_netdev(priv->net_dev); goto out_remove_sysfs; wiphy_unregister(priv->ieee->wdev.wiphy); kfree(priv->ieee->a_band.channels); kfree(priv->ieee->bg_band.channels); goto out_unregister_netdev; } } #endif Loading @@ -11851,6 +11862,8 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev, return 0; out_unregister_netdev: unregister_netdev(priv->net_dev); out_remove_sysfs: sysfs_remove_group(&pdev->dev.kobj, &ipw_attribute_group); out_release_irq: Loading Loading
drivers/bluetooth/btusb.c +6 −0 Original line number Diff line number Diff line Loading @@ -72,9 +72,15 @@ static struct usb_device_id btusb_table[] = { /* Apple MacBookAir3,1, MacBookAir3,2 */ { USB_DEVICE(0x05ac, 0x821b) }, /* Apple MacBookAir4,1 */ { USB_DEVICE(0x05ac, 0x821f) }, /* Apple MacBookPro8,2 */ { USB_DEVICE(0x05ac, 0x821a) }, /* Apple MacMini5,1 */ { USB_DEVICE(0x05ac, 0x8281) }, /* AVM BlueFRITZ! USB v2.0 */ { USB_DEVICE(0x057c, 0x3800) }, Loading
drivers/bluetooth/btwilink.c +8 −8 Original line number Diff line number Diff line Loading @@ -124,6 +124,13 @@ static long st_receive(void *priv_data, struct sk_buff *skb) /* ------- Interfaces to HCI layer ------ */ /* protocol structure registered with shared transport */ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = { { .chnl_id = HCI_EVENT_PKT, /* HCI Events */ .hdr_len = sizeof(struct hci_event_hdr), .offset_len_in_hdr = offsetof(struct hci_event_hdr, plen), .len_size = 1, /* sizeof(plen) in struct hci_event_hdr */ .reserve = 8, }, { .chnl_id = HCI_ACLDATA_PKT, /* ACL */ .hdr_len = sizeof(struct hci_acl_hdr), Loading @@ -138,13 +145,6 @@ static struct st_proto_s ti_st_proto[MAX_BT_CHNL_IDS] = { .len_size = 1, /* sizeof(dlen) in struct hci_sco_hdr */ .reserve = 8, }, { .chnl_id = HCI_EVENT_PKT, /* HCI Events */ .hdr_len = sizeof(struct hci_event_hdr), .offset_len_in_hdr = offsetof(struct hci_event_hdr, plen), .len_size = 1, /* sizeof(plen) in struct hci_event_hdr */ .reserve = 8, }, }; /* Called from HCI core to initialize the device */ Loading Loading @@ -240,7 +240,7 @@ static int ti_st_close(struct hci_dev *hdev) if (!test_and_clear_bit(HCI_RUNNING, &hdev->flags)) return 0; for (i = 0; i < MAX_BT_CHNL_IDS; i++) { for (i = MAX_BT_CHNL_IDS-1; i >= 0; i--) { err = st_unregister(&ti_st_proto[i]); if (err) BT_ERR("st_unregister(%d) failed with error %d", Loading
drivers/net/wireless/b43/main.c +2 −1 Original line number Diff line number Diff line Loading @@ -1632,7 +1632,8 @@ static void handle_irq_beacon(struct b43_wldev *dev) u32 cmd, beacon0_valid, beacon1_valid; if (!b43_is_mode(wl, NL80211_IFTYPE_AP) && !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT)) !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) && !b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) return; /* This is the bottom half of the asynchronous beacon update. */ Loading
drivers/net/wireless/ipw2x00/ipw2100.c +14 −7 Original line number Diff line number Diff line Loading @@ -1901,17 +1901,19 @@ static void ipw2100_down(struct ipw2100_priv *priv) /* Called by register_netdev() */ static int ipw2100_net_init(struct net_device *dev) { struct ipw2100_priv *priv = libipw_priv(dev); return ipw2100_up(priv, 1); } static int ipw2100_wdev_init(struct net_device *dev) { struct ipw2100_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; int ret; int i; ret = ipw2100_up(priv, 1); if (ret) return ret; memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN); /* fill-out priv->ieee->bg_band */ Loading Loading @@ -6350,9 +6352,13 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, "Error calling register_netdev.\n"); goto fail; } registered = 1; err = ipw2100_wdev_init(dev); if (err) goto fail; mutex_lock(&priv->action_mutex); registered = 1; IPW_DEBUG_INFO("%s: Bound to %s\n", dev->name, pci_name(pci_dev)); Loading Loading @@ -6389,7 +6395,8 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, fail_unlock: mutex_unlock(&priv->action_mutex); wiphy_unregister(priv->ieee->wdev.wiphy); kfree(priv->ieee->bg_band.channels); fail: if (dev) { if (registered) Loading
drivers/net/wireless/ipw2x00/ipw2200.c +26 −13 Original line number Diff line number Diff line Loading @@ -11425,17 +11425,24 @@ static void ipw_bg_down(struct work_struct *work) /* Called by register_netdev() */ static int ipw_net_init(struct net_device *dev) { int i, rc = 0; int rc = 0; struct ipw_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; mutex_lock(&priv->mutex); if (ipw_up(priv)) { mutex_lock(&priv->mutex); if (ipw_up(priv)) rc = -EIO; goto out; mutex_unlock(&priv->mutex); return rc; } static int ipw_wdev_init(struct net_device *dev) { int i, rc = 0; struct ipw_priv *priv = libipw_priv(dev); const struct libipw_geo *geo = libipw_get_geo(priv->ieee); struct wireless_dev *wdev = &priv->ieee->wdev; memcpy(wdev->wiphy->perm_addr, priv->mac_addr, ETH_ALEN); /* fill-out priv->ieee->bg_band */ Loading Loading @@ -11519,13 +11526,9 @@ static int ipw_net_init(struct net_device *dev) set_wiphy_dev(wdev->wiphy, &priv->pci_dev->dev); /* With that information in place, we can now register the wiphy... */ if (wiphy_register(wdev->wiphy)) { if (wiphy_register(wdev->wiphy)) rc = -EIO; goto out; } out: mutex_unlock(&priv->mutex); return rc; } Loading Loading @@ -11832,14 +11835,22 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev, goto out_remove_sysfs; } err = ipw_wdev_init(net_dev); if (err) { IPW_ERROR("failed to register wireless device\n"); goto out_unregister_netdev; } #ifdef CONFIG_IPW2200_PROMISCUOUS if (rtap_iface) { err = ipw_prom_alloc(priv); if (err) { IPW_ERROR("Failed to register promiscuous network " "device (error %d).\n", err); unregister_netdev(priv->net_dev); goto out_remove_sysfs; wiphy_unregister(priv->ieee->wdev.wiphy); kfree(priv->ieee->a_band.channels); kfree(priv->ieee->bg_band.channels); goto out_unregister_netdev; } } #endif Loading @@ -11851,6 +11862,8 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev, return 0; out_unregister_netdev: unregister_netdev(priv->net_dev); out_remove_sysfs: sysfs_remove_group(&pdev->dev.kobj, &ipw_attribute_group); out_release_irq: Loading