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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "[email protected]"

Reply via email to