mmc: bcm2835-host: Fix wait_transfer_complete
authorRaul Benet <raul.benet@kaptivo.com>
Thu, 13 Jun 2019 13:59:57 +0000 (14:59 +0100)
committerMatthias Brugger <mbrugger@suse.com>
Fri, 6 Sep 2019 16:16:59 +0000 (18:16 +0200)
commitb1125802a524641ad1ac803b4a617756d26f007d
treeb5253cac4e72e90a72b04ed1fabe40a49ce9d555
parent49822442edd910efdf12eb8070a9c9cc7c48037d
mmc: bcm2835-host: Fix wait_transfer_complete

Function bcm_2835_wait_transfer_complete() is not waiting long enough.
The previous code was claiming to wait for ~1 seconds, but as it depends
on register reads it's time actually varies.
Some cards require wait times of up to ~56 ms to perform
the command 'saveenv' on an EXT4 partition.

Re-implement the loop exit condition to use get_timer() which allows
to specify the wait time in more reliable manner. Set the maximum wait
time to the originally intended 1 second.

Signed-off by: Raul Benet <raul.benet_at_kaptivo.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
drivers/mmc/bcm2835_sdhost.c