Libetas can not reload modules
dongas86 at gmail.com
Mon Jun 15 13:03:25 EDT 2009
2009/6/15 Jonathan Cameron <jic23 at cam.ac.uk>:
>> 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?
> I think the last discussion about this was the one following on from...
>> Why the firmware still still doesn't play ball?
> Don't know. Unfortunately I wasn't in a position to run Marvell's driver and find
> out whether their reset code actually works, but we never managed to replicate it
> using the in kernel code.
>> Is there any way to fix this issue?
> We never really managed to isolate the cause I'm afraid.
I also tried two methods in the thread you mentioned, a)
enable/disable function and b) CMD_802_11_RESET command, but they
didn't work as you experienced.
More information about the libertas-dev