On Wed, Nov 01, 2017 at 02:49:15AM +0530, Pierre-Louis Bossart wrote:
> 
> >
> >>>+          if (found == false) {
> >>>+                  /* TODO: Park this device in Group 13 */
> >>>+                  dev_err(bus->dev, "Slave Entry not found");
> >>
> >>No break here?  Otherwise...
> >
> >Thats intentional. We want to still read next device that show up
> >
> >>
> >>>+          }
> >>>+
> >>>+  } while (ret == 0);
> >>
> >>... the outer loop may go endlessly.
> >>This condition doesn't look effective.
> >
> >not really. We cant keep reading successfully. At some point all slaves will
> >ignore and return ENODATA and we exit. Bus errors will also make it exit
> >
> >BUT given that we have seen stuff i am inclined to add a counter, we cant
> >have more than 11 device so that's a sane value to use :)
> 
> Yep. Keep in mind however that there could be theoretical corner cases: if a
> device is enumerated, loses sync and becomes attached again while you deal
> with others, you'd have more than 11 iterations.

Not really as that would be another interrupt and another status report.

-- 
~Vinod

Reply via email to