Libetas can not reload modules

Jonathan Cameron jic23 at cam.ac.uk
Fri Jun 12 15:50:14 EDT 2009


Dongas wrote:
> Dear ALL,
> 
> The issue i encounterred is that libertas modules can not be reloaed.
> (It works well when i first insmod them)
> I want to rmmod them and do the re-insmod, but the error message is
> shown as follows:
> # insmod libertas_sdio.ko
> libertas_sdio: Libertas SDIO driver
> libertas_sdio: Copyright Pierre Ossman
> ……
> libertas: failed to load helper firmware
> libertas leave: if_sdio_prog_helper(), ret -110
> 
> After digging in the code, i found that the libertas driver will check
> IF_SDIO_IO_RDY and IF_SDIO_DL_RDY bit in IF_SDIO_STATUS register for
> the firmware downloading(CMD53 write) operation.
> However, the SDIO status read back of mine card indicated that the
> card IF_SDIO_DL_RDY bit was alway not set during the module reload
> operation.Then the timeout happened with '-ETIMEDOUT' returned.
> 
> Is there any body know why?
This turns up on the mailing list from time to time.
I think the firmware still still doesn't play ball.  
> BTW, i saw some code in if_sdio_prog_firmware funtion as follows.
> ---------------------------------------------------------------------------------------------------
> 	if (scratch == IF_SDIO_FIRMWARE_OK) {
> 		lbs_deb_sdio("firmware already loaded\n");
> 		goto success;
> 	}
> -----------------------------------------------------------------------------------------------------
Someone else may correct me on this, but I think that will only be true
immediately after driver load.  From then on there is no easy
way of finding out what state the card is in.
> It seems the driver doesn't need to re-load the firmware if the
> firmware is already loaded, right?
> In my case, during the first insmod of libertas modules, the driver
> works well and i can assume the firmware is already loaded.
> But when i reload modules, why the driver still needs to do firmware
> reloading rather than skip it as above code said?
> 
> (My card is based on Marvell 8686 chipset and kernel is 2.6.29)
> 
> Thanks
> 
> Regards
> Dongas
> 
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
> 




More information about the libertas-dev mailing list