On Tue, Apr 30, 2013 at 10:45:35AM -0600, Bjorn Helgaas wrote: > On Tue, Apr 30, 2013 at 1:44 AM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > The "+" operation has higher precedence than "?:" and ->msi_cap is > > always non-zero here so the original statement is equivalent to: > > > > entry->mask_pos = PCI_MSI_MASK_64; > > > > Which wasn't the intent. > > > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > Ouch, my fault, sorry about that. Thanks for finding this. I put > this in my for-linus branch and will try to get this in before > v3.10-rc1. > > How did you find this? I guess MSI didn't work right on a device with > 32-bit message address and per-vector masking? > Static analysis. I have a check that complains about every condition like: if (foo + bar) { ... It has too many false positives to foist on the public though. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html