aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/cardreader/rts5228.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/cardreader/rts5228.c')
-rw-r--r--drivers/misc/cardreader/rts5228.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/misc/cardreader/rts5228.c b/drivers/misc/cardreader/rts5228.c
index 448929829de4..f5716c631104 100644
--- a/drivers/misc/cardreader/rts5228.c
+++ b/drivers/misc/cardreader/rts5228.c
@@ -379,11 +379,16 @@ static void rts5228_process_ocp(struct rtsx_pcr *pcr)
static void rts5228_init_from_cfg(struct rtsx_pcr *pcr)
{
+ struct pci_dev *pdev = pcr->pci;
+ int l1ss;
u32 lval;
struct rtsx_cr_option *option = &pcr->option;
- pci_read_config_dword(pcr->pci, PCR_ASPM_SETTING_REG1, &lval);
+ l1ss = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_L1SS);
+ if (!l1ss)
+ return;
+ pci_read_config_dword(pdev, l1ss + PCI_L1SS_CTL1, &lval);
if (0 == (lval & 0x0F))
rtsx_pci_enable_oobs_polling(pcr);