From patchwork Tue May 19 12:13:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kazior X-Patchwork-Id: 6436611 X-Patchwork-Delegate: johannes@sipsolutions.net Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 379ADC0432 for ; Tue, 19 May 2015 12:13:56 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 33A8320453 for ; Tue, 19 May 2015 12:13:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 22963203B8 for ; Tue, 19 May 2015 12:13:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755524AbbESMNw (ORCPT ); Tue, 19 May 2015 08:13:52 -0400 Received: from mail-wi0-f182.google.com ([209.85.212.182]:32958 "EHLO mail-wi0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755483AbbESMNu (ORCPT ); Tue, 19 May 2015 08:13:50 -0400 Received: by wicmx19 with SMTP id mx19so114484095wic.0 for ; Tue, 19 May 2015 05:13:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tieto.com; s=google; h=from:to:cc:subject:date:message-id; bh=ejTbEri1ywuMMwaVRGbez1qU0imrskjj2Huoqe+zEqw=; b=uVDiQClK948Dd22IVh2nsXpwFZSbnFL8ruMpUYAOeLBtPrrAAlhihfQMwVE9tx0/3P /PT+G5X6rPghJ5SZkkifLNnK8rVLcDQb1PCG7SLvjmW0BuBJm4C2l7BZNWpiQNK24V5w Ej40SQZKchOMxBGI9ihP38Smg7BWF+ILCgmo4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ejTbEri1ywuMMwaVRGbez1qU0imrskjj2Huoqe+zEqw=; b=IWw7mm1ksm1TUgtuMD+9PQFaqFrdleA9BnUHn9mcdoX94VtVXSJVMfA365JWISOSoc XOwFr+yLE0L4s8Q5lpc+tI0dzRaf/F7tsQi6SSzYdCNFsQyS4JRx1ahBC25PQCWB+KLW Jly4fNexw/jYOpD83driPlnh8hp93xT6Ibry4oDkgLOxc2Y2eLhEQnpHrSeOE8ylAgwb f/5qqqEyMnIsQPWfHdNscXvFKACDx34oDszGGtMeZsM9GV2qiJZvD/buU2zqSoY8M6Qz qo1T7ofGKrMv8avir7bNaeDtkU0gWHPAqJibXUmUtObFk6MayLjDQH0SkIsbRUfS/tPy KgLQ== X-Gm-Message-State: ALoCoQmUoJXtyDqbKn+pHNhOtuHiLkSZ7Dx77NIAkcVgstjwq0XpCjgXhKy9bxCc5D0/AUhjF+VJT/rmzr+I+/P965N1C1hdGVK5G2X4Jfqyo1Pr528SI8IRO7tuGn1gMcwQSyhRyxi0o9bnfk+Lj0XZ1ld48Iunz3Tl/amJd9KTbEc7O8Ope01y/TF0yEw9gDL6nyivCZBl X-Received: by 10.180.107.70 with SMTP id ha6mr30833634wib.20.1432037629324; Tue, 19 May 2015 05:13:49 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.8]) by mx.google.com with ESMTPSA id u9sm21541143wjx.15.2015.05.19.05.13.48 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 19 May 2015 05:13:48 -0700 (PDT) From: Michal Kazior To: linux-wireless@vger.kernel.org Cc: johannes@sipsolutions.net, Michal Kazior Subject: [PATCH] mac80211: check fast-xmit on station change Date: Tue, 19 May 2015 14:13:36 +0200 Message-Id: <1432037616-26520-1-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 2.1.4 X-DomainID: tieto.com Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Drivers with fast-xmit (e.g. ath10k) running in AP_VLAN setups would fail to communicate with connected 4addr stations. The reason was when new station associates it first goes into master AP interface. It is not until later that a dedicated AP_VLAN is created for it and the station itself is moved there. After that Tx directed at the station should use 4addr header. However fast-xmit wasn't recalculated and 3addr header remained to be used. This in turn caused the connected 4addr stations to drop packets coming from the AP until some other event would cause fast-xmit to recalculate for that station (which could never come). Signed-off-by: Michal Kazior --- net/mac80211/cfg.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 3469bbdc891c..bb9f83640b46 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -1411,6 +1411,7 @@ static int ieee80211_change_station(struct wiphy *wiphy, } sta->sdata = vlansdata; + ieee80211_check_fast_xmit(sta); if (sta->sta_state == IEEE80211_STA_AUTHORIZED && prev_4addr != new_4addr) {