Re: [PATCH -rt] disable building all staging drivers

From: Thomas Gleixner
Date: Tue Jun 23 2009 - 07:26:00 EST


On Mon, 22 Jun 2009, Greg KH wrote:
> > 17:02:43 E: ERROR: "there_is_no_init_MUTEX_LOCKED_for_RT_semaphores" [drivers/staging/rt2870/rt2870sta.ko] undefined!
>
> What needs to be done in the rt2870 driver to resolve this issue?

It looks like the semaphores are used to wait for an event. There are
actually 3 of those:

init_MUTEX_LOCKED(&(pAd->mlme_semaphore));
init_MUTEX_LOCKED(&(pAd->RTUSBCmd_semaphore));
init_MUTEX_LOCKED(&(pAd->RTUSBTimer_semaphore));

All are used in kernel threads which wait with down_interruptible() on
them. The up() calls are in some completely non obvious places.

I had a look into the timer one. The semaphore is the least thing you
need to worry about there. The open coded timer list management and
the thread which does timer polling for some obscure reason are the
things which need to be fixed in the first place. Once this is cleaned
up the semaphore will be gone anyway.

But, after looking into that code I really have to ask you whether you
are serious about fixing it instead of rewriting it from scratch and
just keep the code as is for reference to the hardware details.

Thanks,

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