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

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

 



Hi Mukesh,

(I'm sorry for the noise but my mail server has marked this mail
as spam and put the spam tag in front of the subject. Therefore,
my reply might have been marked as spam.)

I'm going to send a new e-mail with the old answers.

On Fri, Mar 01, 2024 at 04:56:38PM +0530, Mukesh Kumar Savaliya wrote:
> we are seeing protocol errors like NACK as transfer failure but

/we/We/

> ideally it should report exact error like NACK, BUS_PROTO or ARB_LOST.
> 
> Hence we are adding such error support in GSI mode and reporting it
> accordingly by adding respective error logs.
> 
> geni_i2c_gpi_xfer() needed to allocate heap based memory instead of

Please use the imperative form.

> stack memory to handle and store the geni_i2c_dev handle.
> 
> Copy event status from GSI driver to the i2c device status and parse
> error when callback comes from gsi driver to the i2c driver. In the
> gpi.c, we need to store callback param into i2c config data structure
> so that inside the i2c driver, we can check what exactly the error is
> and parse it accordingly.
> 
> Fixes: d8703554f4de ("i2c: qcom-geni: Add support for GPI DMA")

What bug are you fixing here? The description doesn't talk about
fixes rather than support added.

...

> -	config.peripheral_config = &peripheral;
> -	config.peripheral_size = sizeof(peripheral);
> +	peripheral = devm_kzalloc(gi2c->se.dev, sizeof(*peripheral), GFP_KERNEL);
> +	if (!peripheral)
> +		return -ENOMEM;

This is a massive leak. Why are you deciding to make the
allocation dynamic?

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