Re: [PATCH 2/2] PCI: Only enable realloc auto when root bus has 64bit mmio

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

 



On Wed, Sep 17, 2014 at 12:46:24AM -0700, Yinghai Lu wrote:
> On Tue, Sep 16, 2014 at 3:27 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> > On Tue, Sep 16, 2014 at 1:21 PM, Joseph Salisbury
> > <joseph.salisbury@xxxxxxxxxxxxx> wrote:
> >>
> >> A new bug[0] was opened due to enabling PCI_REALLOC_ENABLE_AUTO, which
> >> is similar to the original bug[1] we discussed.
> >>
> >> Just wondering if there have been any additional ideas on realloc since
> >> this was last discussed?
> >>
> >> [0] http://pad.lv/1363313
> >
> > So the resource realloc do work as expected. but LSI firmware has some
> > problem again?
> >
> > We may need to add command after the reset the bridge resource.
> 
> Can you try attached patch?

This sitting in patchwork, but I'm dropping it because there's no changelog
or signed-off-by.  I don't think the underlying bug has been resolved,
though.

Bjorn

> ---
>  drivers/pci/setup-bus.c |   16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> 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
> @@ -1615,6 +1615,22 @@ again:
>  						 fail_res->flags & type_mask,
>  						 rel_type);
>  
> +	/* reset LSI device */
> +	list_for_each_entry(fail_res, &fail_head, list) {
> +		struct pci_dev *pdev;
> +		struct pci_bus *pbus = fail_res->dev->bus;
> +
> +		if (pci_is_root_bus(pbus) || !pbus->self)
> +			continue;
> +
> +		/* LSI device firmware is not happy with changing BAR value */
> +		list_for_each_entry(pdev, &pbus->devices, bus_list)
> +			if (pdev->vendor == PCI_VENDOR_ID_LSI_LOGIC) {
> +				pci_reset_secondary_bus(pbus->self);
> +				break;
> +			}
> +	}
> +
>  	/* restore size and flags */
>  	list_for_each_entry(fail_res, &fail_head, list) {
>  		struct resource *res = fail_res->res;

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]