Hi Krzysztof, > Good point. I'll remove those verbose messages and maybe leave one or > two debug messages with just a summary of the status which will > hopefully be a good compromise. Will that be ok? Very likely :) > BTW, I have added this synchronize_irq() in unreg_slave callback just to > make sure it is save to set idev->slave to NULL already. Most of the > controllers do not have such a guard and I'm wondering why that wouldn't > be a problem for them. Like the i2c-rcar.c - isn't there a small race > condition if some slave interrupt triggers just before ICSIER is cleared > and somehow does not finish before priv->slave is set to NULL? This is > the situation I was afraid of and tried to solve by using this > synchronize_irq(). You have an important point there. unreg_slave is protected by the adapter lock but this won't help if another master is requesting something, thus, causing interrupts. Phew, nearly all slave implementation need to fix this! Thanks a lot, Wolfram
Attachment:
signature.asc
Description: PGP signature