Re: [PATCH v7 03/10] ACPI: property: Parse _CRS CSI-2 descriptor

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

 



On Tue, Mar 28, 2023 at 06:46:23PM +0300, Andy Shevchenko wrote:
> On Tue, Mar 28, 2023 at 06:27:09PM +0300, Sakari Ailus wrote:
> > On Tue, Mar 28, 2023 at 06:12:09PM +0300, Andy Shevchenko wrote:
> > > On Tue, Mar 28, 2023 at 01:12:56PM +0300, Sakari Ailus wrote:
> 
> ...
> 
> > > > +	struct scan_check_crs_csi2_context inst_context = {
> > > > +		.handle = handle,
> > > > +		.res_head = LIST_HEAD_INIT(inst_context.res_head),
> > > > +	};
> > > > +	struct crs_csi2 *csi2;
> > > > +
> > > > +	acpi_walk_resources(handle, METHOD_NAME__CRS,
> > > > +			    scan_check_crs_csi2_instance, &inst_context);
> > > > +
> > > > +	if (list_empty(&inst_context.res_head))
> > > > +		return;
> > > > +
> > > > +	/*
> > > > +	 * Found entry, so allocate memory for it, fill it and add it to the
> > > > +	 * list.
> > > > +	 */
> > > > +	csi2 = kmalloc(sizeof(*csi2), GFP_KERNEL);
> > > > +	if (!csi2)
> > > 
> > > Who is going to release resources allocated in the callback above?
> > 
> > This is done by crs_csi2_release(), called from acpi_bus_scan_crs_csi2().
> 
> Isn't it a bit counter intuitive?

Are you suggesting changing something?

Basically we're gathering the information during an ACPI namespace walk.
Once the information has been processed and used, the memory can be
released.

-- 
Sakari Ailus



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux