Re: Recent and not-so problems with tifm_sd driver

Alex Dubov
2007-02-13T14:40:55Z

If we are already on the topic, I would like to report two additional issues with mmc_block:

1. If, for some reason, device driver cannot return the requested data amount, but does not sets
any error, mmc_block would retry indefinitely. Of course, its always a device driver's fault, but
may be we can set some limit on retry count (this can help a lot with debugging).

And the more serious:
2. There was a write corruption problem with tifm_sd caused by missing wait cycle (card busy/card
not busy) after stop command. It should not had been a problem (the mmc layer was spinning around
with CMD13 untill the card become not-busy), but for some reason it was. We are currently testing
this. The intersting part, however, is behavior of mmc_block given this situation:

It appears that mmc_block's instance manages to get stuck because of this. The symptoms: module
usage count is not decremented when low level driver is unloaded and partition block devices do
not get created afterwards. The fun part: the main block device gets created and deleted on card
insertion/removal and its dump is correct (dd if=/dev/mmcblk0 ...); yet partition detection does
not happens. To fix this, one have to reboot the machine or to wait about 30 minutes for mmc_block
to regain its senses (then it becomes rmmod'able again).

On the other hand, it may be some sort of generic block layer problem.

____________________________________________________________________________________
Sucker-punch spam with award-winning protection.
Try the free Yahoo! Mail Beta.