Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f46ec0d1 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: gadget: f_mbim: Fix cpkt_resp_q list corruption on disconnect"

parents 7bc0c670 634d9594
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -1871,12 +1871,15 @@ mbim_write(struct file *fp, const char __user *buf, size_t count, loff_t *pos)
			   req, GFP_ATOMIC);
	if (ret == -ENOTSUPP || (ret < 0 && ret != -EAGAIN)) {
		spin_lock_irqsave(&dev->lock, flags);
		/* check if device disconnected while we dropped lock */
		if (atomic_read(&dev->online)) {
			list_del(&cpkt->list);
		spin_unlock_irqrestore(&dev->lock, flags);
		dev->cpkt_drop_cnt++;
			atomic_dec(&dev->not_port.notify_count);
		pr_err("drop ctrl pkt of len %d error %d\n", cpkt->len, ret);
			mbim_free_ctrl_pkt(cpkt);
		}
		dev->cpkt_drop_cnt++;
		spin_unlock_irqrestore(&dev->lock, flags);
		pr_err("drop ctrl pkt of len %d error %d\n", cpkt->len, ret);
	} else {
		ret = 0;
	}