2004-10-30 16:31:00

by Marcel Holtmann

[permalink] [raw]
Subject: Problem with hotplug functions

Hi,

I have a little problem with the hotplug functions and in particular
with the one from firmware_class. The problem is that the extra env
variables are not set when hotplug is called. Maybe this is fixed
somewhere, but the lastest Bitkeeper snapshot of the Linus tree is not
working for me.

I see a problem in kobject_hotplug() at lib/kobject_uevent.c:

if (hotplug_ops->hotplug) {
/* have the kset specific function add its stuff */
retval = hotplug_ops->hotplug (kset, kobj,
&envp[i], NUM_ENVP - i, scratch,
BUFFER_SIZE - (scratch - buffer));
if (retval) {
pr_debug ("%s - hotplug() returned %d\n",
__FUNCTION__, retval);
goto exit;
}
}

spin_lock(&sequence_lock);
seq = ++hotplug_seqnum;
spin_unlock(&sequence_lock);

envp [i++] = scratch;
scratch += sprintf(scratch, "SEQNUM=%lld", (long long)seq) + 1;

The hotplug function of hotplug_ops get called, but afterwards its
values are overwritten by the sequence number. Is this correct or do I
made a thinking mistake?

Regards

Marcel



2004-10-30 18:20:47

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: Problem with hotplug functions

On Saturday 30 October 2004 11:28 am, Marcel Holtmann wrote:
> Hi,
>
> I have a little problem with the hotplug functions and in particular
> with the one from firmware_class. The problem is that the extra env
> variables are not set when hotplug is called.

Hm, that must be the reason why firmare loading for my atmel wireless
card stopped working recently.

--
Dmitry

2004-10-30 19:55:38

by Greg KH

[permalink] [raw]
Subject: Re: Problem with hotplug functions

On Sat, Oct 30, 2004 at 06:28:02PM +0200, Marcel Holtmann wrote:
>
> The hotplug function of hotplug_ops get called, but afterwards its
> values are overwritten by the sequence number. Is this correct or do I
> made a thinking mistake?

You are correct, there's another thread on lkml about proposed patches
to solve this bug. The last one from Kay looks like the final version
I'll send to Linus tomorrow.

Sorry about this.

thanks,

greg k-h