From ea4fca42b9ba61c68f77a783fcae13368a71b6bc Mon Sep 17 00:00:00 2001 From: wwang Date: Tue, 15 Mar 2011 16:22:16 +0800 Subject: [PATCH] staging: rts_pstor: set lun_mode in a different place In sony notebook, card reader will be configured as two-lun mode through EFUSE. In this situation, MS card can't be recognized properly because driver does only support single-lun mode in default. In this patch, lun_mode is set in a different place, so driver can detect the EFUSE configuation automatically. Signed-off-by: wwang Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rts_pstor/rtsx_chip.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/staging/rts_pstor/rtsx_chip.c b/drivers/staging/rts_pstor/rtsx_chip.c index f443d97a56f8..d2f1c715a684 100644 --- a/drivers/staging/rts_pstor/rtsx_chip.c +++ b/drivers/staging/rts_pstor/rtsx_chip.c @@ -684,6 +684,11 @@ static int rts5209_init(struct rtsx_chip *chip) RTSX_DEBUGP("dw in 0x724: 0x%x\n", lval); val = (u8)lval; if (!(val & 0x80)) { + if (val & 0x08) + chip->lun_mode = DEFAULT_SINGLE; + else + chip->lun_mode = SD_MS_2LUN; + if (val & 0x04) { SET_SDIO_EXIST(chip); } else { @@ -705,12 +710,6 @@ static int rts5209_init(struct rtsx_chip *chip) chip->aspm_l0s_l1_en = (val >> 5) & 0x03; - if (val & 0x08) { - chip->lun_mode = DEFAULT_SINGLE; - } else { - chip->lun_mode = SD_MS_2LUN; - } - val = (u8)(lval >> 8); clk = (val >> 5) & 0x07; -- 2.20.1