# mmc reader not working properly in new kernels (>=3.13)

## disperato

new (4 months) laptop, mmc reader (onboard, pcie *not usb*) working up to gentoo-sources-3.12.12 (tested with 64MB card and 1GB card, both working).

New kernel 3.13.5, and 3.14.1 (currently using), both have this strange behaviour:

when 64MB card (7 pins) is inserted, from console 0:

```
 kernel: mmc0: new MMC card at address 0001

 kernel: mmcblk0: mmc0:0001 000000 61.2 MiB

 kernel: mmcblk0: p1

```

when 1GB card (13 pins) is inserted, from console 0:

```
 kernel: mmc0: error -22 whilst initialising MMC card

 kernel: mmc0: error -22 whilst initialising MMC card

 kernel: mmc0: error -22 whilst initialising MMC card

```

I kept silent, a couple of months ago (kernel 3.13.5), because I stumbled upon this right during intensive tasks at the workplace and had no time to write here.

I ended up continuing to use kernel 3.12.12.

Now I have tried with kernel 3.14.1 with the hope this bug had been fixed. Not so.

Suggestions? Should I file a bug? Is this a bug/regression?

lsusb:

```
Bus 002 Device 002: ID 8087:8000 Intel Corp. 

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:8008 Intel Corp. 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 004: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth

Bus 003 Device 003: ID 8087:07dc Intel Corp. 

Bus 003 Device 002: ID 147e:1002 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor

Bus 003 Device 005: ID 5986:0512 Acer, Inc 

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

```

lspci:

```
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)

00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)

00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)

00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)

00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)

00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d4)

00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4)

00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d4)

00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)

00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 04)

00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 04)

00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)

02:00.0 PCI bridge: Texas Instruments XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] (rev 01)

03:00.0 FireWire (IEEE 1394): Texas Instruments XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] (rev 01)

04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)

04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)

05:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)

```

Notice that:

1) the card reader is  

```
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5289 (rev 01)
```

2) it is shown the same (unassigned and stuff) with kernel 3.12

the relevant part of my .config (Device Drivers):

```
--- MMC/SD/SDIO card support 

  │ │          [ ]   MMC debugging  

  │ │          [ ]   Assume MMC/SD cards are non-removable (DANGEROUS)

  │ │          [ ]   MMC host clock gating                             

  │ │                *** MMC/SD/SDIO Card Drivers ***                           

  │ │          <M>   MMC block device driver                                              

  │ │          (8)     Number of minors per block device                                    

  │ │          [*]     Use bounce buffer for simple hosts                                

  │ │          < >   SDIO UART/GPS class support                                          

  │ │          < >   MMC host test driver                                                     

  │ │                *** MMC/SD/SDIO Host Controller Drivers ***                           

  │ │          <M>   Secure Digital Host Controller Interface support                        

  │ │          < >   SDHCI support on PCI bus                                                 

  │ │          < >   SDHCI support for ACPI enumerated SDHCI controllers                      

  │ │          < >   SDHCI platform and OF driver helper                                      

  │ │          < >   Winbond W83L51xD SD/MMC Card Interface support                           

  │ │          < >   TI Flash Media MMC/SD Interface support                                  

  │ │          < >   ENE CB710 MMC/SD Interface support                                        

  │ │          < >   VIA SD/MMC Card Reader Driver                                             

  │ │          < >   VUB300 USB to SDIO/SD/MMC Host Controller support                  

  │ │          < >   USB SD Host Controller (USHC) support                                  

  │ │          <M>   Realtek PCI-E SD/MMC Card Interface Driver                              

  │ │                                                        
```

----------

