[patch 1/2] powerpc: add check for initialized driver data to pmi driver

Heiko J Schick info at schihei.de
Tue Apr 24 15:53:49 EST 2007


Acked-by: Heiko J Schick <schickhj at de.ibm.com>

On 23.04.2007, at 20:22, Christian Krafft wrote:

> From: Christian Krafft <krafft at de.ibm.com>
> This patch adds a check for the private driver data to be initialized.
> The bug showed up, as the caller found a pmi device by it's type.
> Whereas the pmi driver probes for the type and the name.
> Since the name was not as the driver expected, it did not initialize.
> A more relaxed probing will be supplied with an extra patch, too.
>
> Signed-off-by: Christian Krafft <krafft at de.ibm.com>
> Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
>
> Index: sdk3/arch/powerpc/sysdev/pmi.c
> ===================================================================
> --- sdk3.orig/arch/powerpc/sysdev/pmi.c
> +++ sdk3/arch/powerpc/sysdev/pmi.c
> @@ -264,6 +264,9 @@ void pmi_register_handler(struct of_devi
>  	struct pmi_data *data;
>  	data = device->dev.driver_data;
>
> +	if (!data)
> +		return;
> +
>  	spin_lock(&data->handler_spinlock);
>  	list_add_tail(&handler->node, &data->handler);
>  	spin_unlock(&data->handler_spinlock);
> @@ -274,10 +277,12 @@ void pmi_unregister_handler(struct of_de
>  			    struct pmi_handler *handler)
>  {
>  	struct pmi_data *data;
> +	data = device->dev.driver_data;
>
> -	pr_debug("pmi: unregistering handler %p\n", handler);
> +	if (!data)
> +		return;
>
> -	data = device->dev.driver_data;
> +	pr_debug("pmi: unregistering handler %p\n", handler);
>
>  	spin_lock(&data->handler_spinlock);
>  	list_del(&handler->node);
>
>
> -- 
> Mit freundlichen Gruessen,
> kind regards,
>
> Christian Krafft
> IBM Systems & Technology Group,
> Linux Kernel Development
> IT Specialist
>
>
> Vorsitzender des Aufsichtsrats:	Johann Weihen
> Geschaeftsfuehrung:		Herbert Kircher
> Sitz der Gesellschaft:		Boeblingen
> Registriergericht:		Amtsgericht Stuttgart, HRB 243294
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev




More information about the Linuxppc-dev mailing list