From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp153-165.sina.com.cn (smtp153-165.sina.com.cn [61.135.153.165]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2076C2BEC2B for ; Sat, 28 Feb 2026 03:36:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=61.135.153.165 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772249778; cv=none; b=m1OzXKx/RL8B/aLx50xvWRI2qtZJQXLWaTQ4Z7NJi/aFhNj9CJNGH4R1fkbeVBqHe/fhfhJSghvG7WI6vYXKIHFimuaNOnJFyyM5ONGdPjDkUQnYxyHJyFjsldhJwyPrfg2GtW4biPiA4Sc082nCwzYopt5ek9UzndQNZXaJ5m4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772249778; c=relaxed/simple; bh=Xfc85kflqWHk/eJaCAcn0oJrGNGl3H1rCXCHGoA0yRY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e9SZh2KRilI1NvlnUT6qw2S0hCXpBz99wfgEnfJxGRbFQN9j0PtCr8qVIwlpBHE4uh8VW1sbU2cIyrrGA+NIYqxbi+79rD+IRXrChWTJbNzJPJFJzE0mInxxmVNTR28s/0miBub0FFTIFhOM4CWthzJ4dnVoJaY/UVwjpwexKC0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.com; spf=pass smtp.mailfrom=sina.com; dkim=pass (1024-bit key) header.d=sina.com header.i=@sina.com header.b=F+FKyx4Y; arc=none smtp.client-ip=61.135.153.165 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sina.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sina.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=sina.com header.i=@sina.com header.b="F+FKyx4Y" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sina.com; s=201208; t=1772249770; bh=dU3S76GTD9agbdJxk9g8kTHbPBmhIXFQ5EvJm8CR7Ao=; h=From:Subject:Date:Message-ID; b=F+FKyx4YRnsYbpX6YMSn6sPfY7RZdMB37PAV6lDj2R2Re9bsdv/AN7iLb4V30MKxr VGFxEsaicET2zl/VXp3s28B+u+JxtibX+WwBGiSnGx+Sk8cJrXMtKOz74UijX75if0 j9e4uxl0ZnNXwkK7gU7i+o93y89sbjNNoTwr7Je4= X-SMAIL-HELO: localhost.localdomain Received: from unknown (HELO localhost.localdomain)([114.249.62.144]) by sina.com (10.54.253.32) with ESMTP id 69A262800000662B; Sat, 28 Feb 2026 11:35:30 +0800 (CST) X-Sender: hdanton@sina.com X-Auth-ID: hdanton@sina.com Authentication-Results: sina.com; spf=none smtp.mailfrom=hdanton@sina.com; dkim=none header.i=none; dmarc=none action=none header.from=hdanton@sina.com X-SMAIL-MID: 2229074456623 X-SMAIL-UIID: 6075EC889ED2400E938B9CF7BCEEE883-20260228-113530-1 From: Hillf Danton To: syzbot Cc: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Subject: Re: [syzbot] [libertas?] INFO: task hung in lbs_remove_card Date: Sat, 28 Feb 2026 11:35:20 +0800 Message-ID: <20260228033522.584-1-hdanton@sina.com> In-Reply-To: <69a17e72.050a0220.305b49.00de.GAE@google.com> References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit > Date: Fri, 27 Feb 2026 03:22:26 -0800 [thread overview] > syzbot has found a reproducer for the following issue on: > > HEAD commit: bb375c251ab4 dt-bindings: usb: st,st-ohci-300x: convert to.. > git tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing > console output: https://syzkaller.appspot.com/x/log.txt?x=1141755a580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=f1500201919951cc > dashboard link: https://syzkaller.appspot.com/bug?extid=c99d17aa44dbdba16ad2 > compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1191555a580000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=114a15c6580000 #syz test --- x/drivers/net/wireless/marvell/libertas/firmware.c +++ y/drivers/net/wireless/marvell/libertas/firmware.c @@ -111,9 +111,20 @@ next: do_load_firmware(priv, iter->helper, helper_firmware_cb); } +static bool lbs_check_fw_loaded(struct lbs_private *priv) +{ + unsigned long flags; + bool rc; + + spin_lock_irqsave(&priv->driver_lock, flags); + rc = priv->fw_callback == NULL; + spin_unlock_irqrestore(&priv->driver_lock, flags); + return rc; +} + void lbs_wait_for_firmware_load(struct lbs_private *priv) { - wait_event(priv->fw_waitq, priv->fw_callback == NULL); + wait_event(priv->fw_waitq, true == lbs_check_fw_loaded(priv)); } /** --