> > The code I am suggesting is bascially yours without the retries > > variable: > > > > status = device_for_each_child(&ara->adapter->dev, &data, > > smbus_do_alert); > > if (data.addr == prev_addr && status != -EBUSY) { > > device_for_each_child(&ara->adapter->dev, &data, > > smbus_do_alert_force); > > break; > > } > > prev_addr = data.addr; > > > > Makes sense or am I missing something? > > > > Yes, that should work and is indeed simpler. You are correct, the > additional loop should not be necessary since smbus_do_alert_force() > should already call all connected drivers and hopefully clear > the alert condition on those. Great that we are aligned now! Do you have time to rework and test the patch?
Attachment:
signature.asc
Description: PGP signature