On Wed, Sep 30, 2020 at 11:45:32PM +0900, Vincent Mailhol wrote: > + num_element = > + es58x_msg_num_element(es58x_dev->dev, > + bulk_rx_loopback_msg->rx_loopback_msg, > + msg_len); > + if (unlikely(num_element <= 0)) > + return num_element; Meta-comment on your use of 'unlikely' everywhere. Please drop it, it's only to be used if you can actually measure the difference in a benchmark. You are dealing with USB devices, which are really really slow here. Also, humans make horrible guessers for this type of thing, the compiler and CPU can get this right much more often than we can, and we had the numbers for it (someone measured that 80-90% of our usages of these markings are actually wrong on modern cpus). So just drop them all, it makes the code simpler to read and understand, and the cpu can actually go faster. thanks, greg k-h