mmc: card: fix active data requests handling

Clock scaling logic relies on active data request tracking variable to
start/stop counting the bus busy period and we are also crashing the
system if this tracking variable shows that new request tag is already
in use. Set/Clear logic of this tracking variable is done only if
clock scaling is enabled but consider following sequence of events:

1. Clock scaling is enabled
2. New request comes in which sets the appropriate tag in tracking
   variable.
3. Clock scaling gets disabled (for some reason) before the request
   completion.
4. Request gets completed but it doesn't clear the corresponding tag
   in tracking variable.
5. Clock scaling gets re-enabled.
6. New request is issued with the same tag which was never cleared from
   tracking variable hence we would hit the BUG_ON and system will crash.

Fix this issue by doing set/clear of tracking variable irrespective of
clock scaling state.

Change-Id: Idffd1247ec1275e782e1ad9eb91faa81bc3ba347
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
1 file changed