Hi Wolfram,

On 2021-01-05 20:57, Wolfram Sang wrote:
+       geni_status = readl_relaxed(gi2c->se.base + SE_GENI_STATUS);
+       if (!(geni_status & M_GENI_CMD_ACTIVE))
+               goto out;
+
+       cur = gi2c->cur;
+       geni_i2c_abort_xfer(gi2c);
+       if (cur->flags & I2C_M_RD)
+               geni_i2c_rx_msg_cleanup(gi2c, cur);
+       else
+               geni_i2c_tx_msg_cleanup(gi2c, cur);
+out:
+       pm_runtime_put_sync_suspend(gi2c->se.dev);
+}

The use of 'goto' is not needed here IMHO. I think:

        if (geni_status & M_GENI_CMD_ACTIVE) {
                do_the_stuff
        }

        pm_runtime_put_sync_suspend(...);

is more readable, in fact.


In context to the previous comment [1], I have implemented this way.
But, yeah anything is fine for me.

Also, I don't think we really need the 'cur'
variable and just use 'gi2c->cur' but that's very minor and you can keep
it if you like it.


In geni_i2c_abort_xfer() function gi2c->cur will be made NULL, so copying it before to "cur" is needed here.

Reset looks good!

[1] https://patchwork.kernel.org/project/linux-arm-msm/patch/20200820103522.26242-3-ro...@codeaurora.org/#23560541

Thanks,
Roja

Reply via email to