Libetas can not reload modules

lijinlei1 lijinlei1 at 163.com
Sun Jun 14 00:58:39 EDT 2009


I have the same problem, waiting for follow-ups.

----- Original Message ----- 
From: "Dongas" <dongas86 at gmail.com>
To: "Jonathan Cameron" <jic23 at cam.ac.uk>
Cc: <libertas-dev at lists.infradead.org>
Sent: Sunday, June 14, 2009 12:44 PM
Subject: Re: Libetas can not reload modules


2009/6/13 Jonathan Cameron <jic23 at cam.ac.uk>:
> 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.

Jonathan , thanks for your reply.
(I havn't searched out many related mails failed by this issue in the maillist.)
Could you please clarify a bit more?

Why the firmware still still doesn't play ball?
Is there any way to fix this issue?

>> 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
>>
>
>

_______________________________________________
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