Hi, > >What exactly are you trying to do with the user space program through > >the mmc ioctl with all these commands? The mmc ioctl interface is not > >designed to be used like that. > > > >In principle, it looks like we should support a complete > >re-initialization of the card. I am sorry, but no thanks! This doesn't > >work, but more importantly, this should be managed solely by the > >kernel, in my opinion. > > Doing initialization itself through ioctl is silly, I agree, and does > not work on other ends. This patch is not about that. it just explicitly disables > any CMD13 polling for TRAN for some of those commands. the behavior > for such commands thus is the same as without the patch. > The reason for this patch is to not run into the race condition that a > following (ioctl) command will be rejected because the card is in e.g. PROG > state > of a previous ioctl command. As stated earlier, I encountered this a lot when > doing a unlock force erase -> lock/set, in both scenarios, issued as two single > ioctl commands and bundled together. Are you using mmc-utils? Can you share exactly the sequence of commands you are sending? > But this race condition exists on any (non-R1b/ RPBM) currently. As there is > no CMD13 polling happening after the response (or whenever the driver > marks > the request as done), the card's status is therefore generally unknown. Again, can you share the sequence of the commands you are using? Thanks, Avri > > So in short I don;t want to do anything too crazy from userspace, but the > alternative now is to do like 100ms sleeps in the hope that the card is > actually finished with the issued command (not just the host driver so to > say). > > Kind Regards, > Christian > Hyperstone GmbH | Line-Eid-Strasse 3 | 78467 Konstanz > Managing Directors: Dr. Jan Peter Berns. > Commercial register of local courts: Freiburg HRB381782