Re: [PATCH] staging:iio: fix removal path to allow correct freeing.

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

 



On 10/11/11 12:54, Lars-Peter Clausen wrote:
> On 10/11/2011 11:50 AM, Jonathan Cameron wrote:
>> On 10/10/11 17:41, Jonathan Cameron wrote:
>>> On 10/10/11 16:17, Jonathan Cameron wrote:
>>>> Fix a dumb lack of consideration of the effect of combining
>>>> the iio_device_unregister and iio_free_device calls into
>>>> one.  There is no valid place to free some of the sysfs
>>>> array elements.
>>> My continued testing indicates another dragon hiding somewhere.
>>> It's of the that lovely type that causes segfaults scattered
>>> all over the kernel.  Will continue tomorrow.
>> One dragon found.  Stupid size of available_scanmasks bug
>> on allocation in max1363.  I'll send a patch out later.
>>
>> Now I can hammer probe and remove without problem.
>>
>> Testing from others of this patch would be welcomed.
>>
>> Jonathan
> 
> It seems to work fine under normal conditions, but I'm wondering if it is
> possible to create a sitution in which we still have reference to the iio
> device pending when we unbind the parent device. In this case
> iio_free_device
> would be called before iio_release_device.
It's possible there is a bug in the core or one of the drivers.
Drivers are responsible for ensuring all pending work is flushed etc.
The core should ensure that if another device has a reference, 
then the relevant module will have been gotten and hence rmmod
will refuse to do anything.

Having said that, we've chased down bugs in the trigger code this
cycle and I suspect there are more in there.  Hence please do point
out any failure cases you come across!

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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux