> +/*
> + * Function called by the key driver when the rfkill structure
> + * needs to be registered.
> + */
> +int rfkill_register_key(struct rfkill *rfkill, int init_status)
> +{
> +     struct rfkill_type *type = &master->type[rfkill->key_type];
> +     struct rfkill_key *key;
> +     int status;
> +
> +     if (!rfkill)
> +             return -EINVAL; 
> +
> +     if (rfkill->key_type >= KEY_TYPE_MAX)
> +             return -EINVAL;
> +
> +     /*
> +      * Increase module use count to prevent this
> +      * module to be unloaded while there are still
> +      * registered keys.
> +      */
> +     if (!try_module_get(THIS_MODULE))
> +             return -EBUSY;

This is obviously broken.  Please add a "struct module *owner;"
field to struct rfkill instead.

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

Reply via email to