From: Christian Marangi <ansuelsmth@gmail.com>
To: Dan Carpenter <error27@gmail.com>
Cc: ath11k@lists.infradead.org
Subject: Re: [bug report] wifi: ath11k: fix peer addition/deletion error on sta band migration
Date: Fri, 10 Feb 2023 00:55:41 +0100 [thread overview]
Message-ID: <63e587fe.df0a0220.47373.9a06@mx.google.com> (raw)
In-Reply-To: <Y+S+WDeZqeooMdiM@kili>
On Thu, Feb 09, 2023 at 12:35:20PM +0300, Dan Carpenter wrote:
> Hello Christian Marangi,
>
> The patch d673cb6fe6c0: "wifi: ath11k: fix peer addition/deletion
> error on sta band migration" from Sep 22, 2022, leads to the
> following Smatch static checker warning:
>
> drivers/net/wireless/ath/ath11k/peer.c:396 ath11k_peer_create()
> warn: sleeping in atomic context
>
> drivers/net/wireless/ath/ath11k/peer.c
> 370 int ath11k_peer_create(struct ath11k *ar, struct ath11k_vif *arvif,
> 371 struct ieee80211_sta *sta, struct peer_create_params *param)
> 372 {
> 373 struct ath11k_peer *peer;
> 374 struct ath11k_sta *arsta;
> 375 int ret, fbret;
> 376
> 377 lockdep_assert_held(&ar->conf_mutex);
> 378
> 379 if (ar->num_peers > (ar->max_num_peers - 1)) {
> 380 ath11k_warn(ar->ab,
> 381 "failed to create peer due to insufficient peer entry resource in firmware\n");
> 382 return -ENOBUFS;
> 383 }
> 384
> 385 spin_lock_bh(&ar->ab->base_lock);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Holding a spin lock.
>
> 386 peer = ath11k_peer_find_by_addr(ar->ab, param->peer_addr);
> 387 if (peer) {
> 388 if (peer->vdev_id == param->vdev_id) {
> 389 spin_unlock_bh(&ar->ab->base_lock);
> 390 return -EINVAL;
> 391 }
> 392
> 393 /* Assume sta is transitioning to another band.
> 394 * Remove here the peer from rhash.
> 395 */
> --> 396 mutex_lock(&ar->ab->tbl_mtx_lock);
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> So we can't take a mutex.
>
> 397 ath11k_peer_rhash_delete(ar->ab, peer);
> 398 mutex_unlock(&ar->ab->tbl_mtx_lock);
> 399 }
> 400 spin_unlock_bh(&ar->ab->base_lock);
> 401
> 402 ret = ath11k_wmi_send_peer_create_cmd(ar, param);
Hi,
thanks for the report. I send a patch to ath mailing list that should
fix this bug!
--
Ansuel
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
next prev parent reply other threads:[~2023-02-09 23:55 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-09 9:35 [bug report] wifi: ath11k: fix peer addition/deletion error on sta band migration Dan Carpenter
2023-02-09 23:55 ` Christian Marangi [this message]
2023-02-13 12:26 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=63e587fe.df0a0220.47373.9a06@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=ath11k@lists.infradead.org \
--cc=error27@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.