On Fri, Jul 28, 2023 at 08:50:55AM +0300, Dan Carpenter wrote: > On Fri, Jul 28, 2023 at 10:04:52AM +0530, Manivannan Sadhasivam wrote: > > > @@ -464,6 +484,13 @@ int mhi_ep_queue_skb(struct mhi_ep_device *mhi_dev, struct sk_buff *skb) > > > buf_left = skb->len; > > > ring = &mhi_cntrl->mhi_chan[mhi_chan->chan].ring; > > > > > > + if (mhi_cntrl->mhi_state == MHI_STATE_M3) { > > > + if (mhi_ep_wake_host(mhi_cntrl)) { > > > > Don't you need lock here in the case of multiple queue requests? > > > > - Mani > > > > > + dev_err(dev, "Failed to wakeup host\n"); > > > + return -ENODEV; > > > + } > > > + } > > > + > > > mutex_lock(&mhi_chan->lock); > ^^^^^^^^^^^^^^^^^^^^^^^^^^ > This lock isn't enough? > The position of this lock won't prevent cocurrent access to mhi_ep_wake_host(). - Mani > regards, > dan carpenter -- மணிவண்ணன் சதாசிவம்