how to perform i2c transaction with disabled irq?

Tomek The Messenger tomekthemessenger at
Thu Apr 30 07:11:06 EDT 2020

If I don't have disabled irqs I can use API i2c_smbus_write_byte in order
to perform i2c transaction.
But how to make i2c transaction if I have disabled irq? Is any built-in
function which lets such operation, where there is some polling implemented?
The background is that I do i2c transaction in restart handler (some i2c
transaction to hot swap controller) in order to reset board.  And linux
before entering restart handler list disable interrupts. There is a
function to enable back interrupts but in company in which I am working
engineers reviewed it and said "it is not allowed, restart must be
performed when interrupts are disabled".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Kernelnewbies mailing list