Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0654ff055c6ce5642eed88ba22915b0e56666794
Commit:     0654ff055c6ce5642eed88ba22915b0e56666794
Parent:     04799fae8ecb42b2c687fa85fe32ff79ea0e9dc9
Author:     John W. Linville <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 4 14:04:40 2007 -0400
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:55:23 2007 -0700

    [PATCH] ieee80211_if_set_type: make check for master dev more explicit
    
    Problem description by Daniel Drake <[EMAIL PROTECTED]>:
    
    "This sequence of events causes loss of connectivity:
    
    <plug in>
    <associate as normal in managed mode>
    ifconfig eth7 down
    iwconfig eth7 mode monitor
    ifconfig eth7 up
    ifconfig eth7 down
    iwconfig eth7 mode managed
    <associate as normal>
    
    At this point you are associated but TX does not work. This is because
    the eth7 hard_start_xmit is still ieee80211_monitor_start_xmit."
    
    The problem is caused by ieee80211_if_set_type checking for a non-zero
    hard_start_xmit pointer value in order to avoid changing that value for
    master devices.  The fix is to make that check more explicitly linked to
    master devices rather than simply checking if the value has been
    previously set.
    
    CC: Daniel Drake <[EMAIL PROTECTED]>
    Acked-by: Michael Wu <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 net/mac80211/ieee80211_iface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/ieee80211_iface.c b/net/mac80211/ieee80211_iface.c
index be7e77f..43e505d 100644
--- a/net/mac80211/ieee80211_iface.c
+++ b/net/mac80211/ieee80211_iface.c
@@ -106,7 +106,7 @@ void ieee80211_if_set_type(struct net_device *dev, int type)
         * which already has a hard_start_xmit routine assigned
         * which must not be changed.
         */
-       if (!dev->hard_start_xmit)
+       if (dev != sdata->local->mdev)
                dev->hard_start_xmit = ieee80211_subif_start_xmit;
 
        /*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to