if (ret && ret == -EEXIST) ret = 0; if (ret) break;I would first think that there might be a bug. That is, we should have aret = remove_breakpoint().

Thus, I would say, either leave this as is and hope gcc is smart enoughto optimize out the if (is_register), or add the comment: /* ret will always be zero on remove_breakpoint */ if (ret && ret == -EEXIST) ret = 0; if (ret) break;-- Steve