Subject: Re: [syzbot] [wireless?] INFO: task hung in ath9k_hif_usb_firmware_cb (3)

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Sun, 05 Jan 2025 21:25:16 +0100

syzbot <[email-masked]> writes:

> syzbot has found a reproducer for the following issue on:
>
> HEAD commit:    78d4f34e2115 Linux 6.13-rc3
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=10d10b44580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=6c532525a32eb57d
> dashboard link: https://syzkaller.appspot.com/bug?extid=e9b1ff41aa6a7ebf9640
> compiler:       Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=166cb4f8580000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/297b40bb0993/disk-78d4f34e.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/e3ec807b99e0/vmlinux-78d4f34e.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/226a54b87ab2/bzImage-78d4f34e.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: [email-masked]

#syz test

diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
index fe9abe8cd268..1cdc723fe4f5 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1153,17 +1153,9 @@ static void ath9k_hif_usb_dev_deinit(struct hif_device_usb *hif_dev)
 static void ath9k_hif_usb_firmware_fail(struct hif_device_usb *hif_dev)
 {
 	struct device *dev = &hif_dev->udev->dev;
-	struct device *parent = dev->parent;
 
 	complete_all(&hif_dev->fw_done);
-
-	if (parent)
-		device_lock(parent);
-
 	device_release_driver(dev);
-
-	if (parent)
-		device_unlock(parent);
 }
 
 static void ath9k_hif_usb_firmware_cb(const struct firmware *fw, void *context);