Bug 16119

Summary: jmb38x recognized and works only if a card is plugged in during boot
Product: Drivers Reporter: Eugene Shalygin (eugene.shalygin)
Component: PCIAssignee: drivers_pci (drivers_pci)
Status: RESOLVED CODE_FIX    
Severity: normal CC: alexandre.cortes, bjorn, mmoya
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.34 Tree: Mainline
Regression: No
Attachments: lspci results with card plugged in
lspci in case when no card reader is avaliable
lspci -n
lspci -n, options pciehp pciehp_force=1, card was plugged in
dmesg
3.12 rc1 dmesg

Description Eugene Shalygin 2010-06-04 01:09:01 UTC
Created attachment 26643 [details]
lspci results with card plugged in

Acer Aspire 8942G, card reader works only if a card was plugged in before boot.
Comment 1 Eugene Shalygin 2010-06-04 01:11:46 UTC
Created attachment 26644 [details]
lspci in case when no card reader is avaliable
Comment 2 Eugene Shalygin 2010-06-04 01:13:04 UTC
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/351529 - similar Ubuntu bug
Comment 3 Andrew Morton 2010-06-04 23:20:52 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Fri, 4 Jun 2010 01:09:03 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=16119
> 
>            Summary: jmb38x recognized and works only if a card is plugged
>                     in during boot
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 2.6.34
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: MMC/SD
>         AssignedTo: drivers_mmc-sd@kernel-bugs.osdl.org
>         ReportedBy: eugene.shalygin@gmail.com
>         Regression: No
> 
> 
> Created an attachment (id=26643)
>  --> (https://bugzilla.kernel.org/attachment.cgi?id=26643)
> lspci results with card plugged in
> 
> Acer Aspire 8942G, card reader works only if a card was plugged in before
> boot.

hm, I don't know who wold be the appropriate person to look into this. 
Let's try the mailing list.
Comment 4 Anonymous Emailer 2010-06-05 01:18:37 UTC
Reply-To: cjb@laptop.org

On Fri, Jun 04, 2010 at 04:20:14PM -0700, Andrew Morton wrote:
> hm, I don't know who wold be the appropriate person to look into this. 
> Let's try the mailing list.

Eugene, could you please try adding:

options sdhci debug_quirks=1

to a new file named /etc/modprobe.d/sdhci-quirk.conf and rebooting?
Please include `lspci -n` and `dmesg` output in your reply.

It would also be useful to know whether you see the same problem when 
booting (say) a Fedora 13 livecd, since the link below claims that 
Fedora doesn't share this bug:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/258446

- Chris.
Comment 5 Eugene Shalygin 2010-06-05 13:34:55 UTC
I've checked with Fedora 13 x86_64 live CD. Behaviour is the same my Gentoo - card reader is recognized if pciehp_force=1 option is turned on. If so, card-reader appears in lspci results (and works) after a card plugged in (card was not present during the boot).
Comment 6 Eugene Shalygin 2010-06-05 18:18:15 UTC
Created attachment 26659 [details]
lspci -n

lspci -n
Comment 7 Eugene Shalygin 2010-06-05 18:20:16 UTC
Created attachment 26660 [details]
lspci -n, options pciehp pciehp_force=1, card was plugged in
Comment 8 Eugene Shalygin 2010-06-05 18:23:00 UTC
Created attachment 26661 [details]
dmesg

There are two outputs from modprobe pciehp at the end of the file. The first one without pcieh_force, second - with it.
Comment 9 Alexandre 2010-09-03 23:47:00 UTC
Sorry my bad english, i'm portuguese speaker.

I'm experiencing exactly same problem in my Acer 5737Z - ArchLinux Box

On ArchLinux bugs they give me the driver authors contacts:

Dan Zink <dan.zink@compaq.com>, Greg Kroah-Hartman <greg@kroah.com>, Dely Sy <dely.l.sy@intel.com>

But unfortunately i'm very busy, and cannot make nothing yet.

http://bugs.archlinux.org/task/20105?opened=7252&status[0]=
Comment 10 Eugene Shalygin 2010-10-26 16:49:28 UTC
Method with "options pciehp pciehp_force=1" worked up to 2.6.35, in 2.6.36 it does not work anymore. A card-reader is avaliable only if card is plugged in during boot
Comment 11 Eugene Shalygin 2010-11-20 12:51:21 UTC
trick has changed from "pciehp.pciehp_force=1" to "pcie_ports=native pciehp.pciehp_force=1" in my case with kernel 2.6.36
Comment 12 Bjorn Helgaas 2013-02-28 18:47:40 UTC
Reassigning to PCI because this looks like a pciehp/acpiphp issue.
Comment 13 Bjorn Helgaas 2013-09-20 21:03:09 UTC
v3.12-rc1 contains many acpiphp updates, as well as fixes to the
code that decides whether to use acpiphp or pciehp.  Can you please
retest with v3.12-rc1 or later, attach the complete dmesg log,
and note whether this issue is resolved?
Comment 14 Eugene Shalygin 2013-09-21 00:44:54 UTC
With 3.12-rc1 and without any kernel parameters, the card is recognized succesfully.
Comment 15 Eugene Shalygin 2013-09-21 00:46:20 UTC
Created attachment 109041 [details]
3.12 rc1 dmesg
Comment 16 Bjorn Helgaas 2013-09-23 18:02:21 UTC
Thanks very much for testing this, Eugene.

I do see errors like this:
mmcblk0: error -84 transferring data, sector 8192, nr 1, cmd response 0x900, card status 0x0

later in your log, but I assume those are unrelated to the hotplug/device recognition issue.

So I'm closing this as resolved.  If Alexandre or anybody else still sees a card recognition error with v3.12+, please open a new bug report for it.
Comment 17 Eugene Shalygin 2013-09-23 18:35:32 UTC
Thank you for looking into this!

Ragarding the errors: with one of the sd-cards (which was inserted first), I was unable to get its contents, as you see. When I re-inserted it, and after that tried several other cards, I was unable to reproduce such behaviour.