Programatorsky orisek?

Jan Marek jmarek na jcu.cz
Pátek Listopad 2 09:16:50 CET 2001


Dobry den,

On Thu, Nov 01, 2001 at 05:37:01PM +0100, Jan Marek wrote:

malokdy odpovidam na svuj vlastni posting...

> 
> --- part of function yenta_open() from file yenta.c
> 	/* Get the PCMCIA kernel thread to complete the
> 	   initialisation later. We can't do this here,
> 	   because, er, because Linus says so :)
> 	*/
> 	socket->tq_task.routine = yenta_open_bh;
> 	socket->tq_task.data = socket;
> 	printk("yenta_open: after socket->tq...\n");
> 
> 	MOD_INC_USE_COUNT;
> 	schedule_task(&socket->tq_task);
> 	printk("yenta_open: after schedule_task()\n");
> 
> 	return 0;
> }
> --- end of part of function yenta_open()
> 
> Co k tomu dodat: "initialization later" funguje jen kdyz mam
> notebook v single rezimu, jinak se tam asi cosi po... a
> inicializace se proste nedokonci. Posledni hlaska pred umrtim
> byla:
> yenta_open: after schedule_task(), takze tohle se podarilo, dale
> jsem nezkoumal...

Tak jsem jeste pokrocil prece jen dale... (treba do toho prece
jen proniknu, je to skvele dobrodruzstvi, kdyz nevite nic o jadre
a hrabete se v nem... Neco jako objevovani nezname krajiny: "Hic
sunt leones" ;-))))

Zjistil jsem, ze problem nastava az v dalsi funkci, ktera se tu
planuje (socket->tq_task.routine = yenta_open_bh) a to konkretne
v casti, kdy se snazi obsadit IRQ. Asi jsem nepsal, ze zde je IRQ
sdilene s VGA kartou, takze asi narazi tam... Sice uz jsem se
dival i do funkce request_irq(), ale tam uz se poustet neminim...

> 
> BTW: V single rezimu mi to tou funkci yenta_config_init() proslo
> dvakrat vc. vypisu ;-) Dokonce i pri odloudovani driveru ;-)

Je zajimavy, ze ted mi to v tom single user runlevelu uz
neprojde...

Zdravi
Honza Marek
-- 
Ing. Jan Marek
University of South Bohemia
Academic Computer Centre
Phone: +420-38-7772080


Další informace o konferenci Linux