Re: [PATCH v3] i2c: i2c-qcom-geni: Parse Error correctly in i2c GSI mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 3/8/2024 4:28 AM, Andi Shyti wrote:
Hi Mukesh,

On Fri, Mar 08, 2024 at 02:25:39AM +0530, Mukesh Kumar Savaliya wrote:
I2C driver currently reports "DMA txn failed" error even though it's
NACK OR BUS_PROTO OR ARB_LOST. Detect NACK error when no device ACKs
on the bus instead of generic transfer failure which doesn't give any
specific clue.

Make Changes inside i2c driver callback handler function
i2c_gpi_cb_result() to parse these errors and make sure GSI driver
stores the error status during error interrupt.

funny note: this is half "imperative mood" :-)

A real imperative would be "Pares the error inside
i2c_gpi_cb_result()... blah blah blah". No need to resend.


 :-) Thanks !

Fixes: d8703554f4de ("i2c: qcom-geni: Add support for GPI DMA")

I still don't understand what's the fix here. You are making a
generic DMA error to be more specific... where is the bug? What
exactly is broken now?

This is about being particular while reporting specific error.
Like i mentioned, instead of generic DMA transfer error, it should be particular error 1) NACK 2) BUT_PROTO 3)ARB_LOST.
Ofcourse when data transfer via DMA fails, it can be considered as
DMA Txfer fail.
In summary so far driver was considering all failure as txfer failure,
but i2c has errors which are kind of response/condition on the bus.

Sorry if it confusing still, but please let me know if anything required to be updated in commit log which can bring clarity.

Besides, keep in mind, that commits with fixes tags get
backported to older kernels (this one dates back to 5.18) and you
should also Cc the stable mailing list:

Cc: <stable@xxxxxxxxxxxxxxx> # v5.18+

Sure, will add into CC. was waiting for reviewed-by tag.


Thanks,
Andi




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux