Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp3816262pxy; Tue, 4 May 2021 10:31:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLMXBVyDBj9eIKGr4GjSS2afMup1RG2OU5wUGwkBz3TlSQfgXG0ryFYGe85oXCaf6sLM7f X-Received: by 2002:a17:907:33ce:: with SMTP id zk14mr22943376ejb.372.1620149488621; Tue, 04 May 2021 10:31:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620149488; cv=none; d=google.com; s=arc-20160816; b=N6dyH9naaJQNSgHvayHkOm/TFhQeNeEdW/mf348JY02vftJAqPoSiTUf3iyURZN+cC nvmmBNNvJpVxPyIOsD/oHNidZ8tT8z6dnpaC9vRn/ePWE2puZHcl7BiFarW6spHJqT54 7ZbuVfwnaI6UtXMHTBaZZU/anvgG8AKl/nAbe1J+Syn0XFx0heuTVh8di8r8/Qvh2U10 BszemcjviSNpWq1087F9kW9UaQzr1ldHV1JrvFAbx5+zGuKDA8IV5++K3f8h8EdF4zbT 9WpmeNRAC4uT4Y21WnugzHe0B+cemir/vCUFEeicvdrgaSqhr/PFUuYqF1klXYg+qks2 mVtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:subject:reply-to:cc:from:to:dkim-signature:date; bh=VOuXsPA3D+q5QOcWnf6vc7Q/RxQzQx+++abTtPCYqrM=; b=WqDvnz0vzo6sxJkSp8awyMhQYuqNLhmrtZUIIXJgTzlHA4bX3ORteOsApKUHjG1Olg 8BQSJHKY8fMvfyO1bLmF1/terb7axRv0WVMUmqY5q+H9gIEH97F2nr2llqOkksZ2DlpL auJuOFAU+3gV3xtp6hQ4Bl12rz7U9QY4nJpAGYRunFC08eiLr1SmoLuNUfLpLMJyZ37I /xNhp5bSVFQj7NKStkUaiatODh7TFGXJ/4kfbMSqebW5SNDNlJUwwxPXANsNXJWOldcT 1roHqwrw49wFLxO98RPQ0BEPVymzBzQdsekcemsGQe3srOx8AL9+OqF5sPKqd/4HaX9p bedg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail header.b=Et7VucL2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ju5si3062088ejc.6.2021.05.04.10.31.03; Tue, 04 May 2021 10:31:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@protonmail.com header.s=protonmail header.b=Et7VucL2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=protonmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231610AbhEDR12 (ORCPT + 99 others); Tue, 4 May 2021 13:27:28 -0400 Received: from mail-0201.mail-europe.com ([51.77.79.158]:43846 "EHLO mail-02.mail-europe.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231211AbhEDR11 (ORCPT ); Tue, 4 May 2021 13:27:27 -0400 Date: Tue, 04 May 2021 17:26:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1620149189; bh=VOuXsPA3D+q5QOcWnf6vc7Q/RxQzQx+++abTtPCYqrM=; h=Date:To:From:Cc:Reply-To:Subject:From; b=Et7VucL2B0TcLyz/Q884yy7jTPSfShYHKRqzgWwiaJKTds0oj04xDqA/PAYsuEB6v XxEJWEaFequpNgrVihnox6ov6kaVE0lD27A7Q8FMjlTg8JBwGqRA5L7tF1j2QFvdp4 6e/hNHXFntRr9xJt5MCi6CtPNO7fc+rjIYk5uAoM= To: Greg Kroah-Hartman From: Jari Ruusu Cc: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" , Jiri Kosina , Kalle Valo Reply-To: Jari Ruusu Subject: Backport for 4.14, iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.2 required=10.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM shortcircuit=no autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on mailout.protonmail.ch Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() upstream commit e7020bb068d8be50a92f48e36b236a1a1ef9282e, backport for linux-4.14.y (booted and ping tested) Signed-off-by: Jari Ruusu --- a/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c @@ -559,6 +559,7 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans = *trans, =09const u8 *cmddata[IWL_MAX_CMD_TBS_PER_TFD]; =09u16 cmdlen[IWL_MAX_CMD_TBS_PER_TFD]; =09struct iwl_tfh_tfd *tfd =3D iwl_pcie_get_tfd(trans, txq, txq->write_ptr= ); +=09unsigned long flags2; =09memset(tfd, 0, sizeof(*tfd)); @@ -629,10 +630,10 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_tran= s *trans, =09=09goto free_dup_buf; =09} -=09spin_lock_bh(&txq->lock); +=09spin_lock_irqsave(&txq->lock, flags2); =09if (iwl_queue_space(txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) { -=09=09spin_unlock_bh(&txq->lock); +=09=09spin_unlock_irqrestore(&txq->lock, flags2); =09=09IWL_ERR(trans, "No space in command queue\n"); =09=09iwl_op_mode_cmd_queue_full(trans->op_mode); @@ -773,7 +774,7 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans = *trans, =09spin_unlock_irqrestore(&trans_pcie->reg_lock, flags); out: -=09spin_unlock_bh(&txq->lock); +=09spin_unlock_irqrestore(&txq->lock, flags2); free_dup_buf: =09if (idx < 0) =09=09kfree(dup_buf); -- Jari Ruusu=C2=A0 4096R/8132F189 12D6 4C3A DCDA 0AA4 27BD=C2=A0 ACDF F073 3C= 80 8132 F189