From patchwork Thu Sep 3 08:43:45 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kazior X-Patchwork-Id: 7115391 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 686879F1CD for ; Thu, 3 Sep 2015 08:43:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 826DD2077B for ; Thu, 3 Sep 2015 08:43:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D791920776 for ; Thu, 3 Sep 2015 08:43:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752581AbbICIn1 (ORCPT ); Thu, 3 Sep 2015 04:43:27 -0400 Received: from mail-lb0-f179.google.com ([209.85.217.179]:35166 "EHLO mail-lb0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752536AbbICInY (ORCPT ); Thu, 3 Sep 2015 04:43:24 -0400 Received: by lbpo4 with SMTP id o4so20219848lbp.2 for ; Thu, 03 Sep 2015 01:43:23 -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=ClI27qRAEPdB4dWlvn9Ddlj1jsarwXaU5vcNVPLoagA=; b=mhj7TOx8A7jtQ8/eAYV9mSJv6SqshYAhtOuTMdkb4ka2dHO6zvTTf2b418T/U+W99u bpbxothPzBEmRgSHvotYm2SmVAMqSh96lT1vONELftghRR28IAbQ3MUA68WH9pxV+Vka 3ClYBeOKFQ9Gjw8iFobJkkgZRvfMhRxNYI1MU= 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=ClI27qRAEPdB4dWlvn9Ddlj1jsarwXaU5vcNVPLoagA=; b=eur81H42bfmHVORawOZ5CUTUUeQako/ekXOLM7DFdq4euz2XMhUzylWzUTaemYwKQ9 +JtenfKGJboOMlBCq9mUuOPgwE1VjhQuL0MerjGgDZd2Puy9lKcs+1ug8KiENeLGjCny gr6HrkZgr8xcrH+n5ePeO/K6lqwvM+xHgZxDU+jwbNIkSBcFzJfOZCeEuAjVgbomNod1 Bd4PmWno/dGMPeTHUjYuadLNtvIwavYovOIBYP8HUmhb/ywcRfef0bBijmnxPtKcUg77 bex/Jfj0O1Q/HxQHPC6I5At5k64qbwNsnOg6jCPNlekjwuqHMev91H4DIUDw5ER9Ax/x Lnhw== X-Gm-Message-State: ALoCoQnc6BNl3iLqHwIo6Vw8tLYtCUExRSJDGypoBjRf4r9vDZxwCzO+T161ceHupGUhMVork+FHatF8Dte3fA36V8iMrAHpGoJHlVXlSuA72YWiF3RxADrC8DWzAln+X3qirlBDRrni X-Received: by 10.152.6.41 with SMTP id x9mr16719187lax.120.1441269803096; Thu, 03 Sep 2015 01:43:23 -0700 (PDT) Received: from localhost.localdomain ([91.198.246.10]) by smtp.gmail.com with ESMTPSA id kk2sm6214155lbc.18.2015.09.03.01.43.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Sep 2015 01:43:21 -0700 (PDT) From: Michal Kazior To: ath10k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, Michal Kazior Subject: [PATCH] ath10k: move hw_scan worker queuing Date: Thu, 3 Sep 2015 10:43:45 +0200 Message-Id: <1441269825-344-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 The remain_on_channel callback needs different timeout. Calling ieee80211_queue_work() with a shorter delay after calling it with a longer delay will not change the timer. This caused the offchannel timeout worker to not trigger in time and caused the device to stay on channel longer then expected. This could cause some problems and was be easily reproduced with `iw offchannel` command. Signed-off-by: Michal Kazior --- drivers/net/wireless/ath/ath10k/mac.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 64674c955d44..708fc2d2de2f 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -3617,9 +3617,6 @@ static int ath10k_start_scan(struct ath10k *ar, } spin_unlock_bh(&ar->data_lock); - /* Add a 200ms margin to account for event/command processing */ - ieee80211_queue_delayed_work(ar->hw, &ar->scan.timeout, - msecs_to_jiffies(arg->max_scan_time+200)); return 0; } @@ -4751,6 +4748,11 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw, spin_unlock_bh(&ar->data_lock); } + /* Add a 200ms margin to account for event/command processing */ + ieee80211_queue_delayed_work(ar->hw, &ar->scan.timeout, + msecs_to_jiffies(arg.max_scan_time + + 200)); + exit: mutex_unlock(&ar->conf_mutex); return ret;