Subject: Re: Latest PreemptRT patch error on imx35

From: Uwe Kleine-König<[email-masked]>
Date: Mon, 31 Aug 2009 15:22:00 +0200

Hello Tim,

> I just bootet 2.6.31-rc8-rt9 on the phycore-imx35 development board, 
> without any additional patches. The FEC Ethernet Controller went belly 
> up, but the system booted nevertheless. [...]
The problem is that &fep->mii_lock is taken twice.  On a normal (i.e.
non-RT) UP system that doesn't hurt because spinlocks are noops (unless
you have some debugging code activated).

The exact problem is:
	fec_enet_mii (this takes &fep->mii_lock) and calls mip->mii_func
	which happens to be mii_queue.  mii_queue in turn takes
	&fep->mii_lock again.

The correct fix is probably to split mii_queue into a function that
locks and a function that does the actual work.  And then use the latter
in fec_enet_mii.

I'd prepare a patch but my wife just called me to eat some cake :-)

So maybe later today or tomorrow, we'll see.

Best regards
Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to [email-masked]
More majordomo info at  http://vger.kernel.org/majordomo-info.html