Re: [PATCH] PCI: keep resource size during alignment reordering

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

 



On Thu, May 28, 2015 at 10:40:00PM -0700, Yinghai Lu wrote:
> In d74b9027a4da ("PCI: Consider additional PF's IOV BAR alignment in sizing
> and assigning"), it stores additional alignment in realloc_head and takes
> this into consideration for assignment.
> During update the resource before reordering, it does not calculate
> resource end correctly.
> 
> We need to keep the original resource size before updating start.
> otherwise we will smaller size during updating end.
> 
> Fixes: d74b9027a4da ("PCI: Consider additional PF's IOV BAR alignment in sizing and assigning")
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> Cc: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>

I already merged this fix for the same commit:

http://lkml.kernel.org/r/1432016657-16816-1-git-send-email-weiyang@xxxxxxxxxxxxxxxxxx

Is this a separate fix for a different problem?  Is it a fix for the same
problem, just implemented differently?

I'd like Wei's ack for this just to make sure we don't get things mixed up.

Wei's first fix is on my for-linus branch:

https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=for-linus&id=a6b65983dabceb7ccb1801ee7f5bd421c2704d16

> ---
>  drivers/pci/setup-bus.c |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> Index: linux-2.6/drivers/pci/setup-bus.c
> ===================================================================
> --- linux-2.6.orig/drivers/pci/setup-bus.c
> +++ linux-2.6/drivers/pci/setup-bus.c
> @@ -428,9 +428,10 @@ static void __assign_resources_sorted(st
>  		 * consistent.
>  		 */
>  		if (add_align > dev_res->res->start) {
> +			resource_size_t r_size = resource_size(dev_res->res);
> +
>  			dev_res->res->start = add_align;
> -			dev_res->res->end = add_align +
> -				            resource_size(dev_res->res);
> +			dev_res->res->end = add_align + r_size - 1;
>  
>  			list_for_each_entry(dev_res2, head, list) {
>  				align = pci_resource_alignment(dev_res2->dev,
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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