Re: [PATCH v3 4/5] net: rnpgbe: Add basic mbx_fw support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 15, 2025 at 02:04:57AM +0200, Andrew Lunn wrote:
> > If it is more cleaner bellow?
> > 
> > static int mucse_fw_send_cmd_wait(struct mucse_hw *hw,
> >                                   struct mbx_fw_cmd_req *req,
> >                                   struct mbx_fw_cmd_reply *reply)
> > {
> >         int len = le16_to_cpu(req->datalen) + MBX_REQ_HDR_LEN;
> >         int retry_cnt = 3;
> >         int err;
> > 
> >         err = mutex_lock_interruptible(&hw->mbx.lock);
> >         if (err)
> >                 return err;
> >         err = hw->mbx.ops->write_posted(hw, (u32 *)req,
> >                                         L_WD(len));
> >         if (err)
> >                 goto quit;
> >         do {
> >                 err = hw->mbx.ops->read_posted(hw, (u32 *)reply,
> >                                                L_WD(sizeof(*reply)));
> >                 if (err)
> >                         goto quit;
> >         } while (--retry_cnt >= 0 && reply->opcode != req->opcode);
> > 
> >         mutex_unlock(&hw->mbx.lock);
> >         if (retry_cnt < 0)
> >                 return -ETIMEDOUT;
> >         if (reply->error_code)
> >                 return -EIO;
> >         return 0;
> > quit:
> >         mutex_unlock(&hw->mbx.lock);
> >         return err;
> > }
> 
> You might want a read a few other drivers in mailine. Look at the
> naming. I doubt you will find many using "quit" for a label. "out" or
> "unlock" is more popular.
> 
> When it comes to locks, it is better to have one lock statement and
> one unlock statement. It then becomes easy to see all paths lead to
> the unlock.
> 
> 	Andrew
> 

Got it, I will change label 'quit' to 'out'.
And I will try to keep 'one lock statement and one unlock statement'
principle in mind.

Thanks for your feedback.





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux