Hi Dan, thanks for your patch! On Fri, Dec 8, 2023 at 10:23 AM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > Here "temp" is the number of characters that we have written and "size" > is the size of the buffer. The intent was clearly to say that if we have > written to the end of the buffer then stop. > > However, for that to work the comparison should have been done on the > original "size" value instead of the "size -= temp" value. Not only > will that not trigger when we want to, but there is a small chance that > it will trigger incorrectly before we want it to and we break from the > loop slightly earlier than intended. > > This code was recently changed from using snprintf() to scnprintf(). With > snprintf() we likely would have continued looping and passed a negative > size parameter to snprintf(). This would have triggered an annoying > WARN(). Now that we have converted to scnprintf() "size" will never > drop below 1 and there is no real need for this test. We could change > the condition to "if (temp <= 1) goto done;" but just deleting the test > is cleanest. This is a great fix! Thanks for going the extra mile and fix this when looking at the code. > Fixes: 1dd33a9f1b95 ("usb: fotg210: Collect pieces of dual mode controller") That's the wrong commit. This commit just brings stuff together from old code... I believe it should be: Fixes: 7d50195f6c50 ("usb: host: Faraday fotg210-hcd driver") It won't backport cleanly but it's the right commit. > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> With the right Fixes: Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Yours, Linus Walleij