~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to net/mac80211/iface.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
382
382
        struct sk_buff *skb, *tmp;
383
383
        u32 hw_reconf_flags = 0;
384
384
        int i;
 
385
        enum nl80211_channel_type orig_ct;
 
386
 
 
387
        clear_bit(SDATA_STATE_RUNNING, &sdata->state);
385
388
 
386
389
        if (local->scan_sdata == sdata)
387
390
                ieee80211_scan_cancel(local);
388
391
 
389
 
        clear_bit(SDATA_STATE_RUNNING, &sdata->state);
390
 
 
391
392
        /*
392
393
         * Stop TX on this interface first.
393
394
         */
448
449
        /* APs need special treatment */
449
450
        if (sdata->vif.type == NL80211_IFTYPE_AP) {
450
451
                struct ieee80211_sub_if_data *vlan, *tmpsdata;
451
 
                struct beacon_data *old_beacon = sdata->u.ap.beacon;
 
452
                struct beacon_data *old_beacon =
 
453
                        rtnl_dereference(sdata->u.ap.beacon);
452
454
 
453
455
                /* sdata_running will return false, so this will disable */
454
456
                ieee80211_bss_info_change_notify(sdata,
542
544
                hw_reconf_flags = 0;
543
545
        }
544
546
 
 
547
        /* Re-calculate channel-type, in case there are multiple vifs
 
548
         * on different channel types.
 
549
         */
 
550
        orig_ct = local->_oper_channel_type;
 
551
        ieee80211_set_channel_type(local, NULL, NL80211_CHAN_NO_HT);
 
552
 
545
553
        /* do after stop to avoid reconfiguring when we stop anyway */
546
 
        if (hw_reconf_flags)
 
554
        if (hw_reconf_flags || (orig_ct != local->_oper_channel_type))
547
555
                ieee80211_hw_config(local, hw_reconf_flags);
548
556
 
549
557
        spin_lock_irqsave(&local->queue_stop_reason_lock, flags);