lkml.org 
[lkml]   [2007]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 28/50] softmac: Fixed handling of deassociation from AP
    -stable review patch.  If anyone has any objections, please let us know.
    ------------------

    From: Ulrich Kunitz <kune@deine-taler.de>

    In 2.6.19 a deauthentication from the AP doesn't start a
    reassociation by the softmac code. It appears that
    mac->associnfo.associating must be set and the
    ieee80211softmac_assoc_work function must be scheduled. This patch
    fixes that.

    Signed-off-by: Ulrich Kunitz <kune@deine-taler.de>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    ---
    Date: Sun, 3 Dec 2006 15:32:00 +0000 (+0100)
    Subject: [patch 28/50] [PATCH] softmac: Fixed handling of deassociation from AP
    X-Git-Tag: v2.6.20-rc1
    X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2b50c24554d31c2db2f93b1151b5991e62f96594

    net/ieee80211/softmac/ieee80211softmac_assoc.c | 14 ++++++++++++--
    net/ieee80211/softmac/ieee80211softmac_auth.c | 2 ++
    net/ieee80211/softmac/ieee80211softmac_priv.h | 2 ++
    3 files changed, 16 insertions(+), 2 deletions(-)

    --- linux-2.6.19.1.orig/net/ieee80211/softmac/ieee80211softmac_assoc.c
    +++ linux-2.6.19.1/net/ieee80211/softmac/ieee80211softmac_assoc.c
    @@ -427,6 +427,17 @@ ieee80211softmac_handle_assoc_response(s
    return 0;
    }

    +void
    +ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac)
    +{
    + unsigned long flags;
    +
    + spin_lock_irqsave(&mac->lock, flags);
    + mac->associnfo.associating = 1;
    + schedule_work(&mac->associnfo.work);
    + spin_unlock_irqrestore(&mac->lock, flags);
    +}
    +
    int
    ieee80211softmac_handle_disassoc(struct net_device * dev,
    struct ieee80211_disassoc *disassoc)
    @@ -445,8 +456,7 @@ ieee80211softmac_handle_disassoc(struct
    dprintk(KERN_INFO PFX "got disassoc frame\n");
    ieee80211softmac_disassoc(mac);

    - /* try to reassociate */
    - schedule_work(&mac->associnfo.work);
    + ieee80211softmac_try_reassoc(mac);

    return 0;
    }
    --- linux-2.6.19.1.orig/net/ieee80211/softmac/ieee80211softmac_auth.c
    +++ linux-2.6.19.1/net/ieee80211/softmac/ieee80211softmac_auth.c
    @@ -328,6 +328,8 @@ ieee80211softmac_deauth_from_net(struct
    /* can't transmit data right now... */
    netif_carrier_off(mac->dev);
    spin_unlock_irqrestore(&mac->lock, flags);
    +
    + ieee80211softmac_try_reassoc(mac);
    }

    /*
    --- linux-2.6.19.1.orig/net/ieee80211/softmac/ieee80211softmac_priv.h
    +++ linux-2.6.19.1/net/ieee80211/softmac/ieee80211softmac_priv.h
    @@ -238,4 +238,6 @@ void ieee80211softmac_call_events_locked
    int ieee80211softmac_notify_internal(struct ieee80211softmac_device *mac,
    int event, void *event_context, notify_function_ptr fun, void *context, gfp_t gfp_mask);

    +void ieee80211softmac_try_reassoc(struct ieee80211softmac_device *mac);
    +
    #endif /* IEEE80211SOFTMAC_PRIV_H_ */
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-01-06 03:43    [W:0.024 / U:1.200 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site