[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b85e3801-aff5-89fb-d33a-88568821d4c0@linux.intel.com>
Date: Thu, 14 Feb 2019 17:03:23 +0200
From: Mathias Nyman <mathias.nyman@...ux.intel.com>
To: Ivan Mironov <mironov.ivan@...il.com>, linux-usb@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Alan Stern <stern@...land.harvard.edu>,
Martin Liu <liumartin@...gle.com>,
YueHaibing <yuehaibing@...wei.com>,
Nicolas Boichat <drinkcat@...omium.org>,
Jon Flatley <jflat@...omium.org>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
Benson Leung <bleung@...omium.org>,
Harry Pan <harry.pan@...el.com>,
Jack Stocker <jackstocker.93@...il.com>,
Danilo Krummrich <danilokrummrich@...develop.de>,
Samuel Sadok <samuel.sadok@...ewin.ch>
Subject: Re: [RFC PATCH 0/2] Fix for the internal card reader and suspend on
MacBooks
On 13.2.2019 23.13, Ivan Mironov wrote:
> Hi all,
>
> There is a known problem on some MacBooks: internal card reader
> disappears after the first suspend/resume and all subsequent attempts
> to suspend laptop are failing.
>
> This was reported[1][2] and even discussed in the mailing lists[3],
> without any real solution. After trying various things[4], including
> some existing quirks, I discovered that switching link state to DISABLED
> before suspend both fixes the card reader device and allows any subsequent
> suspend to succeed.
>
> First patch adds code for this new quirk, and second patch enables this
> quirk for card reader device which is used in my macbook.
>
> I'm not really familiar with either USB standards or kernel code to
> support them, so this patch series is RFC. I'm especially unsure with the
> "resume" part, because I implemented it by trial and error mostly.
> However, I'm using kernel with these patches and it works for me.
>
> Also, feel free to suggest other kernel patches or existing quirks or
> quirk combinations to fix the same problem.
>
> Oh, and by the way: I've checked schematics of various macbooks available
> on the internet. It seems that the actual chip is Genesys Logic GL3219,
> probably just with the custom ID. What I found curious, is that USB 2.0
> pins of this chip (D+ and D-) are not really connected anywhere, but
> instead shorted through the resistor. Could it be possible that this
> somehow messes up some logic inside the device, host controller or
> linux kernel?
>
This card reader prevents second system suspend on latest kernels, see thread:
https://marc.info/?l=linux-usb&m=154816680816246&w=2
In that case the card reader fails to resume from usb3 U3 suspend state,
and ends up stuck in USB3 polling state, which now prevents suspend
Could you try a testpatch (attached) to see if it helps?
Thanks
-Mathias
View attachment "0001-usb-warm-reset-USB3-ports-stuck-in-polling.patch" of type "text/x-patch" (3030 bytes)
Powered by blists - more mailing lists