Re: [PATCH v10 2/2] PCI: hip: Add handling of HiSilicon HIP PCIe controller errors

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

 



On Thu, Jun 18, 2020 at 04:35:31PM +0000, Shiju Jose wrote:
> >-----Original Message-----
> >From: Andy Shevchenko [mailto:andriy.shevchenko@xxxxxxxxxxxxxxx]
> >Sent: 18 June 2020 16:56
> >To: Shiju Jose <shiju.jose@xxxxxxxxxx>
> >Cc: linux-acpi@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; linux-
> >kernel@xxxxxxxxxxxxxxx; rjw@xxxxxxxxxxxxx; helgaas@xxxxxxxxxx;
> >bp@xxxxxxxxx; james.morse@xxxxxxx; lenb@xxxxxxxxxx;
> >tony.luck@xxxxxxxxx; dan.carpenter@xxxxxxxxxx;
> >zhangliguang@xxxxxxxxxxxxxxxxx; Wangkefeng (OS Kernel Lab)
> ><wangkefeng.wang@xxxxxxxxxx>; jroedel@xxxxxxx; Linuxarm
> ><linuxarm@xxxxxxxxxx>; yangyicong <yangyicong@xxxxxxxxxx>; Jonathan
> >Cameron <jonathan.cameron@xxxxxxxxxx>; tanxiaofei
> ><tanxiaofei@xxxxxxxxxx>
> >Subject: Re: [PATCH v10 2/2] PCI: hip: Add handling of HiSilicon HIP PCIe
> >controller errors
> >
> >On Thu, Jun 18, 2020 at 04:40:51PM +0100, Shiju Jose wrote:

...

> >> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
> >
> >Hmm... Did I give a tag?

Yes, and please, be sure that you got explicit tags from reviewers.

...

> >> +	for_each_set_bit_from(idx, (const unsigned long *)&edata->val_bits,
> >
> >Can't you make val_bits unsigned long? Because this casting is incorrect.
> >Otherwise, make a local copy into unsigned long variable.
> 
> The data val_bits in the error record is 64 bits, thus used u64.
> Casting is added because of a compilation warning on _find_nex_bit_ function as it 
> expects the type of the address as const unsigned long*.
> Probably I will make local copy of val_bits into unsigned long variable.

I see.  So, something like this:

	unsigned long bits[] = { BITMAP_FROM_U64(edata->val_bits) };
	...
	for_each_set_bit_from(i, bits, ...)
		...

looks plausible. Or if you have better idea...

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux