Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1585932pxa; Sun, 2 Aug 2020 13:00:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzL54N5poSSrIeRiQQgz2aj7jcZ93YkPlBkUwza2kLv2NTb8zvx9XGESVJFb9Ty2dr8XUMz X-Received: by 2002:a05:6402:1b89:: with SMTP id cc9mr13153438edb.227.1596398428152; Sun, 02 Aug 2020 13:00:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596398428; cv=none; d=google.com; s=arc-20160816; b=tn340ZylLQk886XSFolf+d77T6tfW6k+EbGbzkWyEiNBvyW4TYPch50Ma/9hdiFZbc VZwZA/UTZQ4kPj6kK9d1NKGbMY9raCD4knjn/Sa0D74qBuH7jQ6hIHA8OGNHzy/n91IE wL3s3RTowDoOXG/z7uQ9m0AEdF6Mue1u167I24DviXJ6OZn91IUiVlcQIXrbWglHj4cs PAIBVSCA/ddP3eJOTGIXrMx2KyMEUZzBSMc+dCvdqEant/JNAsdxDKoIeiqmzsrEZdy/ 4cWYghqYybIWX28vdOVY5vHeONdeqNsiYpi1HTiN/0r8IG1G8L7yeLfojaaQcFrx/oXj DcWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language:mime-version:user-agent :date:message-id:subject:from:to:dkim-signature; bh=vMjEIb5uo7VhiRyfKlm7ANqD9A+lfo+NgIVGNjWXofY=; b=clRp8qiQmPgR9vHb+ZHbUtgY0Fq2/CaHp1EzhvCbGT6jRyU1cZKcnUNAEuCePTGF1W vMoqHsWGTUnqYg/ugJpg1IZ+aef6B7WRLMjdCfaSVTry5XEauVJebo+u3cx8dLoVlMF0 Yznb1e298cQOkX50Xcd29ATEfpTZ5+dChXG+GXwC/t3EgwcehaaTnbGCOByS4s21adq2 YmkuzYcZxs2D4gjCTUqedHPWqYfrdHpr5Zcd3qpnw3DxZg7843W0reKagzk91l3VPGg9 HTeE17Lz+cSCcEGyn+OcSJ2Z2vED9XisxeFRarGKFxoIb0urncXfInAZZ5WrTevALZ9n ddbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=c1nkAIFM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w18si8973433eds.406.2020.08.02.12.59.30; Sun, 02 Aug 2020 13:00:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@googlemail.com header.s=20161025 header.b=c1nkAIFM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=googlemail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726789AbgHBTsa (ORCPT + 99 others); Sun, 2 Aug 2020 15:48:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726364AbgHBTs3 (ORCPT ); Sun, 2 Aug 2020 15:48:29 -0400 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A7ADC06174A for ; Sun, 2 Aug 2020 12:48:29 -0700 (PDT) Received: by mail-wm1-x329.google.com with SMTP id q76so12389457wme.4 for ; Sun, 02 Aug 2020 12:48:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=vMjEIb5uo7VhiRyfKlm7ANqD9A+lfo+NgIVGNjWXofY=; b=c1nkAIFMssVu0c5J+2yIcGuckCbtADYQwQza2wgKckbGzcm7920ShZqfAfnOKTTuje d/yv0G07aA3fGbyZ7+e7dk5OXybSWiSH4OJJwFKuyqOBPTsZQAldHH53id7Vq/dMmVHs Hq+e5ZUlSWO99ToHkA3hop35aWv+OgdWACcYUNNf6moHGI9MnY4jeAw05d5jGYc7CgDD N/IN9BY9PsjS2vnZoDWflPdbydqSAoxEnVoLQr+c2jVmPxKUsn15Ob7Ntd7gR/eCrp5X PNkziRS6LbaYVvJusW2I0mqUqOhm1ZhoSCW9WVVlhyeJgaZ21nAnLpYoZmJ1Wn78DRHe ueHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=vMjEIb5uo7VhiRyfKlm7ANqD9A+lfo+NgIVGNjWXofY=; b=N8O9z38gjdAaM4ujV0NQbYn7UWtPdRvdxGJCwHw1iEMRWShI+mwNKgNEAgr3hd4Pme s49jAHkG/h2ohIZu/eqKLDo1f237Z0+hfV/bBuaO1t2+uVs0APeIrNiaxmoxonUaNd7f 3s7+JFo2u6IdOg9vuJNLCMErRg3oe8KknSduj1Aqc1X0w/6Ieqpdbe1J4Q+lA4f8e8Ho G4SSuOhnVbTX4a5aplZX3B0a283pmwkUOPuTMiSbPZhHurmpX72jdHOTtJaRHn1Zxu/v 08UjyJ9O93e/IGUhXUkL5XFj6Df/A0mzDyjaVIUOvKRA+W3hGrqyn1I9CeS/PZM3+0EQ tUvw== X-Gm-Message-State: AOAM5336N757dahGa8bdJYoGWQGOettUHGJFFRDPFLI0S6MXws+e9enF KX50UtJ48+5FXXi0tlyAiZ8= X-Received: by 2002:a1c:2095:: with SMTP id g143mr12408304wmg.78.1596397707431; Sun, 02 Aug 2020 12:48:27 -0700 (PDT) Received: from [192.168.1.20] ([213.122.218.185]) by smtp.googlemail.com with ESMTPSA id w132sm13141634wma.32.2020.08.02.12.48.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 02 Aug 2020 12:48:26 -0700 (PDT) To: LKML , ricky_wu@realtek.com, gregkh@linuxfoundation.org, rdunlap@infradead.org, philquadra@gmail.com, Arnd Bergmann From: Chris Clayton Subject: PATCH: rtsx_pci driver - don't disable the rts5229 card reader on Intel NUC boxes Message-ID: <862172f0-cd23-800c-27b1-27cb49e99099@googlemail.com> Date: Sun, 2 Aug 2020 20:48:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.1.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------8F92358A99E7EDD14B7F4564" Content-Language: en-GB Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------8F92358A99E7EDD14B7F4564 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit bede03a579b3 introduced a bug which leaves the rts5229 PCI Express card reader on my Intel NUC6CAYH box. The bug is in drivers/misc/cardreader/rtsx_pcr.c. A call to rtsx_pci_init_ocp() was added to rtsx_pci_init_hw(). At the call point, pcr->ops->init_ocp is NULL and pcr->option.ocp_en is 0, so in rtsx_pci_init_ocp() the cardreader gets disabled. I've avoided this by making excution code that results in the reader being disabled conditional on the device not being an RTS5229. Of course, other rtsxxx card readers may also be disabled by this bug. I don't have the knowledge to address that, so I'll leave to the driver maintainers. The patch to avoid the bug is attached. Fixes: bede03a579b3 ("misc: rtsx: Enable OCP for rts522a rts524a rts525a rts5260") Link: https://marc.info/?l=linux-kernel&m=159105912832257 Link: https://bugzilla.kernel.org/show_bug.cgi?id=204003 Signed-off-by: Chris Clayton bede03a579b3 introduced a bug which leaves the rts5229 PCI Express card reader on my Intel NUC6CAYH box. The bug is in drivers/misc/cardreader/rtsx_pcr.c. A call to rtsx_pci_init_ocp() was added to rtsx_pci_init_hw(). At the call point, pcr->ops->init_ocp is NULL and pcr->option.ocp_en is 0, so in rtsx_pci_init_ocp() the cardreader gets disabled. I've avoided this by making excution code that results in the reader being disabled conditional on the device not being an RTS5229. Of course, other rtsxxx card readers may also be disabled by this bug. I don't have the knowledge to address that, so I'll leave to the driver maintainers. The patch to avoid the bug is attached. Chris --------------8F92358A99E7EDD14B7F4564 Content-Type: text/x-patch; charset=UTF-8; name="dont-disable-rts5229-cardreader-on-intel-NUC.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dont-disable-rts5229-cardreader-on-intel-NUC.patch" --- linux-5.7.12/drivers/misc/cardreader/rtsx_pcr.c.orig 2020-08-02 13:36:50.216947944 +0100 +++ linux-5.7.12/drivers/misc/cardreader/rtsx_pcr.c 2020-08-02 18:37:30.456610731 +0100 @@ -1200,9 +1200,13 @@ void rtsx_pci_init_ocp(struct rtsx_pcr * SD_OCP_GLITCH_MASK, pcr->hw_param.ocp_glitch); rtsx_pci_enable_ocp(pcr); } else { - /* OC power down */ - rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, - OC_POWER_DOWN); + /* On (some?) Intel NUC platforms, this disables + * the rts5229 cardreader, so don't do it + */ + if(!CHK_PCI_PID(pcr, 0x5229)) + /* OC power down */ + rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN, + OC_POWER_DOWN); } } } --------------8F92358A99E7EDD14B7F4564--