]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mmc: fix host release issue after discard operation
authorRay Jui <rjui@broadcom.com>
Sat, 26 Oct 2013 18:03:44 +0000 (11:03 -0700)
committerChris Ball <cjb@laptop.org>
Tue, 26 Nov 2013 22:04:24 +0000 (17:04 -0500)
commitc02e3c4246d6ba03eada154ae510f7b967231f89
tree225deaa44451365569aa043095dddda5d7bf9b74
parentc3da95ae63d74834093867be3f34da98c406f1a7
mmc: fix host release issue after discard operation

Under function mmc_blk_issue_rq, after an MMC discard operation,
the MMC request data structure may be freed in memory. Later in
the same function, the check of req->cmd_flags & MMC_REQ_SPECIAL_MASK
is dangerous and invalid. It causes the MMC host not to be released
when it should.

This patch fixes the issue by marking the special request down before
the discard/flush operation.

Reported by: Harold (SoonYeal) Yang <haroldsy@broadcom.com>
Signed-off-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Seungwon Jeon <tgih.jun@samsung.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/card/block.c