2011-04-06 06:38:26

by Dong Aisheng

[permalink] [raw]
Subject: [PATCH V2 1/1] uio: clean uioinfo when uninstall uio driver

From: Jie Zhou <[email protected]>

The uioinfo should be cleaned up when uninstall, otherwise re-install
failure of uio_pdrv_genirq.ko will happen.

Signed-off-by: Jie Zhou <[email protected]>
Signed-off-by: Aisheng Dong <[email protected]>

---
Changes for v2:
Address the comments from Hans:
- The uioinfo->irq_flags and uioinfo->priv do not have to be cleaned
---
drivers/uio/uio_pdrv_genirq.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c
index 7174d51..0f424af 100644
--- a/drivers/uio/uio_pdrv_genirq.c
+++ b/drivers/uio/uio_pdrv_genirq.c
@@ -189,6 +189,10 @@ static int uio_pdrv_genirq_remove(struct platform_device *pdev)

uio_unregister_device(priv->uioinfo);
pm_runtime_disable(&pdev->dev);
+
+ priv->uioinfo->handler = NULL;
+ priv->uioinfo->irqcontrol = NULL;
+
kfree(priv);
return 0;
}
--
1.7.0.4


2011-04-06 21:12:19

by Hans J. Koch

[permalink] [raw]
Subject: Re: [PATCH V2 1/1] uio: clean uioinfo when uninstall uio driver

On Wed, Apr 06, 2011 at 02:42:40PM +0800, Aisheng Dong wrote:
> From: Jie Zhou <[email protected]>
>
> The uioinfo should be cleaned up when uninstall, otherwise re-install
> failure of uio_pdrv_genirq.ko will happen.

Looks good.

Thanks for your help,
Hans

>
> Signed-off-by: Jie Zhou <[email protected]>
> Signed-off-by: Aisheng Dong <[email protected]>

Signed-off-by: Hans J. Koch <[email protected]>

>
> ---
> Changes for v2:
> Address the comments from Hans:
> - The uioinfo->irq_flags and uioinfo->priv do not have to be cleaned
> ---
> drivers/uio/uio_pdrv_genirq.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c
> index 7174d51..0f424af 100644
> --- a/drivers/uio/uio_pdrv_genirq.c
> +++ b/drivers/uio/uio_pdrv_genirq.c
> @@ -189,6 +189,10 @@ static int uio_pdrv_genirq_remove(struct platform_device *pdev)
>
> uio_unregister_device(priv->uioinfo);
> pm_runtime_disable(&pdev->dev);
> +
> + priv->uioinfo->handler = NULL;
> + priv->uioinfo->irqcontrol = NULL;
> +
> kfree(priv);
> return 0;
> }
> --
> 1.7.0.4
>
>
>