diff options
Diffstat (limited to 'drivers/net/wireless/b43legacy/main.c')
-rw-r--r-- | drivers/net/wireless/b43legacy/main.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c index ab6a18c2e9d9..174ac6bde2b1 100644 --- a/drivers/net/wireless/b43legacy/main.c +++ b/drivers/net/wireless/b43legacy/main.c | |||
@@ -61,6 +61,8 @@ MODULE_AUTHOR("Michael Buesch"); | |||
61 | MODULE_LICENSE("GPL"); | 61 | MODULE_LICENSE("GPL"); |
62 | 62 | ||
63 | MODULE_FIRMWARE(B43legacy_SUPPORTED_FIRMWARE_ID); | 63 | MODULE_FIRMWARE(B43legacy_SUPPORTED_FIRMWARE_ID); |
64 | MODULE_FIRMWARE("b43legacy/ucode2.fw"); | ||
65 | MODULE_FIRMWARE("b43legacy/ucode4.fw"); | ||
64 | 66 | ||
65 | #if defined(CONFIG_B43LEGACY_DMA) && defined(CONFIG_B43LEGACY_PIO) | 67 | #if defined(CONFIG_B43LEGACY_DMA) && defined(CONFIG_B43LEGACY_PIO) |
66 | static int modparam_pio; | 68 | static int modparam_pio; |
@@ -3361,7 +3363,7 @@ err_kfree_lo_control: | |||
3361 | } | 3363 | } |
3362 | 3364 | ||
3363 | static int b43legacy_op_add_interface(struct ieee80211_hw *hw, | 3365 | static int b43legacy_op_add_interface(struct ieee80211_hw *hw, |
3364 | struct ieee80211_if_init_conf *conf) | 3366 | struct ieee80211_vif *vif) |
3365 | { | 3367 | { |
3366 | struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); | 3368 | struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); |
3367 | struct b43legacy_wldev *dev; | 3369 | struct b43legacy_wldev *dev; |
@@ -3370,23 +3372,23 @@ static int b43legacy_op_add_interface(struct ieee80211_hw *hw, | |||
3370 | 3372 | ||
3371 | /* TODO: allow WDS/AP devices to coexist */ | 3373 | /* TODO: allow WDS/AP devices to coexist */ |
3372 | 3374 | ||
3373 | if (conf->type != NL80211_IFTYPE_AP && | 3375 | if (vif->type != NL80211_IFTYPE_AP && |
3374 | conf->type != NL80211_IFTYPE_STATION && | 3376 | vif->type != NL80211_IFTYPE_STATION && |
3375 | conf->type != NL80211_IFTYPE_WDS && | 3377 | vif->type != NL80211_IFTYPE_WDS && |
3376 | conf->type != NL80211_IFTYPE_ADHOC) | 3378 | vif->type != NL80211_IFTYPE_ADHOC) |
3377 | return -EOPNOTSUPP; | 3379 | return -EOPNOTSUPP; |
3378 | 3380 | ||
3379 | mutex_lock(&wl->mutex); | 3381 | mutex_lock(&wl->mutex); |
3380 | if (wl->operating) | 3382 | if (wl->operating) |
3381 | goto out_mutex_unlock; | 3383 | goto out_mutex_unlock; |
3382 | 3384 | ||
3383 | b43legacydbg(wl, "Adding Interface type %d\n", conf->type); | 3385 | b43legacydbg(wl, "Adding Interface type %d\n", vif->type); |
3384 | 3386 | ||
3385 | dev = wl->current_dev; | 3387 | dev = wl->current_dev; |
3386 | wl->operating = 1; | 3388 | wl->operating = 1; |
3387 | wl->vif = conf->vif; | 3389 | wl->vif = vif; |
3388 | wl->if_type = conf->type; | 3390 | wl->if_type = vif->type; |
3389 | memcpy(wl->mac_addr, conf->mac_addr, ETH_ALEN); | 3391 | memcpy(wl->mac_addr, vif->addr, ETH_ALEN); |
3390 | 3392 | ||
3391 | spin_lock_irqsave(&wl->irq_lock, flags); | 3393 | spin_lock_irqsave(&wl->irq_lock, flags); |
3392 | b43legacy_adjust_opmode(dev); | 3394 | b43legacy_adjust_opmode(dev); |
@@ -3403,18 +3405,18 @@ static int b43legacy_op_add_interface(struct ieee80211_hw *hw, | |||
3403 | } | 3405 | } |
3404 | 3406 | ||
3405 | static void b43legacy_op_remove_interface(struct ieee80211_hw *hw, | 3407 | static void b43legacy_op_remove_interface(struct ieee80211_hw *hw, |
3406 | struct ieee80211_if_init_conf *conf) | 3408 | struct ieee80211_vif *vif) |
3407 | { | 3409 | { |
3408 | struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); | 3410 | struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); |
3409 | struct b43legacy_wldev *dev = wl->current_dev; | 3411 | struct b43legacy_wldev *dev = wl->current_dev; |
3410 | unsigned long flags; | 3412 | unsigned long flags; |
3411 | 3413 | ||
3412 | b43legacydbg(wl, "Removing Interface type %d\n", conf->type); | 3414 | b43legacydbg(wl, "Removing Interface type %d\n", vif->type); |
3413 | 3415 | ||
3414 | mutex_lock(&wl->mutex); | 3416 | mutex_lock(&wl->mutex); |
3415 | 3417 | ||
3416 | B43legacy_WARN_ON(!wl->operating); | 3418 | B43legacy_WARN_ON(!wl->operating); |
3417 | B43legacy_WARN_ON(wl->vif != conf->vif); | 3419 | B43legacy_WARN_ON(wl->vif != vif); |
3418 | wl->vif = NULL; | 3420 | wl->vif = NULL; |
3419 | 3421 | ||
3420 | wl->operating = 0; | 3422 | wl->operating = 0; |
@@ -3960,7 +3962,7 @@ static struct ssb_driver b43legacy_ssb_driver = { | |||
3960 | 3962 | ||
3961 | static void b43legacy_print_driverinfo(void) | 3963 | static void b43legacy_print_driverinfo(void) |
3962 | { | 3964 | { |
3963 | const char *feat_pci = "", *feat_leds = "", *feat_rfkill = "", | 3965 | const char *feat_pci = "", *feat_leds = "", |
3964 | *feat_pio = "", *feat_dma = ""; | 3966 | *feat_pio = "", *feat_dma = ""; |
3965 | 3967 | ||
3966 | #ifdef CONFIG_B43LEGACY_PCI_AUTOSELECT | 3968 | #ifdef CONFIG_B43LEGACY_PCI_AUTOSELECT |
@@ -3969,9 +3971,6 @@ static void b43legacy_print_driverinfo(void) | |||
3969 | #ifdef CONFIG_B43LEGACY_LEDS | 3971 | #ifdef CONFIG_B43LEGACY_LEDS |
3970 | feat_leds = "L"; | 3972 | feat_leds = "L"; |
3971 | #endif | 3973 | #endif |
3972 | #ifdef CONFIG_B43LEGACY_RFKILL | ||
3973 | feat_rfkill = "R"; | ||
3974 | #endif | ||
3975 | #ifdef CONFIG_B43LEGACY_PIO | 3974 | #ifdef CONFIG_B43LEGACY_PIO |
3976 | feat_pio = "I"; | 3975 | feat_pio = "I"; |
3977 | #endif | 3976 | #endif |
@@ -3979,9 +3978,9 @@ static void b43legacy_print_driverinfo(void) | |||
3979 | feat_dma = "D"; | 3978 | feat_dma = "D"; |
3980 | #endif | 3979 | #endif |
3981 | printk(KERN_INFO "Broadcom 43xx-legacy driver loaded " | 3980 | printk(KERN_INFO "Broadcom 43xx-legacy driver loaded " |
3982 | "[ Features: %s%s%s%s%s, Firmware-ID: " | 3981 | "[ Features: %s%s%s%s, Firmware-ID: " |
3983 | B43legacy_SUPPORTED_FIRMWARE_ID " ]\n", | 3982 | B43legacy_SUPPORTED_FIRMWARE_ID " ]\n", |
3984 | feat_pci, feat_leds, feat_rfkill, feat_pio, feat_dma); | 3983 | feat_pci, feat_leds, feat_pio, feat_dma); |
3985 | } | 3984 | } |
3986 | 3985 | ||
3987 | static int __init b43legacy_init(void) | 3986 | static int __init b43legacy_init(void) |