MacBookPro 5,1
John Baldwin
jhb at freebsd.org
Tue Nov 2 19:43:26 UTC 2010
On Tuesday, November 02, 2010 3:29:01 pm Jung-uk Kim wrote:
> On Tuesday 02 November 2010 11:29 am, Andriy Gapon wrote:
> > on 29/10/2010 08:51 Andriy Gapon said the following:
> > > I guess that a general problem here is that it is incorrect to
> > > merely use memcpy/bcopy to create a copy of a resource if the
> > > resource has ACPI_RESOURCE_SOURCE field in it.
> >
> > Hans,
> >
> > could you please test the following patch?
> >
> > diff --git a/sys/dev/acpica/acpi_pci_link.c
> > b/sys/dev/acpica/acpi_pci_link.c index dcf101d..e842635 100644
> > --- a/sys/dev/acpica/acpi_pci_link.c
> > +++ b/sys/dev/acpica/acpi_pci_link.c
> > @@ -767,6 +767,8 @@ acpi_pci_link_srs_from_crs
> > link->l_irq;
> > else
> > resptr->Data.ExtendedIrq.Interrupts[0] = 0;
> > + memset(&resptr->Data.ExtendedIrq.ResourceSource, 0,
> > + sizeof(ACPI_RESOURCE_SOURCE));
> > link++;
> > i++;
> > break;
>
> Hmm... Very interesting. Can you please try this, too?
Linux doesn't set the resource source bits up at all when doing _SRS, so I'd
rather just do that. I think what I'd prefer is that we not use the
prs_template, perhaps just save the type of the resource and build a new
resource object from scratch where the resource is zero'd, the appropriate
bits are set and then that resource is appended to the buffer being built.
--
John Baldwin
More information about the freebsd-acpi
mailing list