On Wed, 14 Feb 2001, Tim Waugh wrote:

> On Wed, Feb 14, 2001 at 02:03:07AM -0600, Jeff Garzik wrote:
> 
> > If pci_register_driver returns < 0, the driver is not registered with
> > the system.
> 
> Thanks.  Okay, second try:
> 
> 2001-01-14  Tim Waugh  <[EMAIL PROTECTED]>
> 
>       * parport_pc.c: Fix PCI driver list corruption on
>       unsuccessful module load (Andrew Morton).
> 
> --- linux/drivers/parport/parport_pc.c.init   Wed Feb 14 10:49:28 2001
> +++ linux/drivers/parport/parport_pc.c        Wed Feb 14 10:50:31 2001
> @@ -89,6 +89,7 @@
>  } superios[NR_SUPERIOS] __devinitdata = { {0,},};
>  
>  static int user_specified __devinitdata = 0;
> +static int registered_parport;
>  
>  /* frob_control, but for ECR */
>  static void frob_econtrol (struct parport *pb, unsigned char m,
> @@ -2605,8 +2606,10 @@
>       count += parport_pc_find_nonpci_ports (autoirq, autodma);
>  
>       r = pci_register_driver (&parport_pc_pci_driver);
> -     if (r > 0)
> +     if (r >= 0) {
> +             registered_parport = 1;
>               count += r;
> +     }
>  
>       return count;
>  }

Should the call to pci_unregister_driver in cleanup_module be
conditional on registered_parport as well?  I didn't check...

Also, is it possible to convert parport_pc to new-style module_init()?

        Jeff




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to