MMC core:

- Fix use of uninitialized drv_typ variable
  - Apply NO_CMD23 quirk to some specific SD cards to make them work
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJaM3fOAAoJEP4mhCVzWIwp3PQP/00QxAIR6np4pPKJ4uv84WoA
 DuYz8NmZ9WbCNuBY7mILJlrV9+EMeEYLjMWMzsKwlfbe22Pf1p/cPsCZ+HhSw2V4
 eC9R5Cf3SI6bl9fxHKOziAnzK0hT4U5KqHOMZAhjheyTO+UyQ9Fdr3RwCA4ihPyc
 mqYHzSDRNx1w7MApevw4khFDMWoVe5BYEIkgTG5E+G9jfR7YWz1dTF+kaHIbHAu2
 d0sN5nT2DdEWk6rMxtZXbVjRkyJb108E1Bq1MkXPFQuN5R79xsdmZp9eT+V1kcdH
 MrFC/NRDngUrr4fosRtfwzCziRBX5PFvEJd31uT51P7+/Pj+p566JjsTWFXwYyUt
 c4gkkha8T2/AkKQTrMq1GbtpvEHmBF4kaKGhuq/1FWix38RmXlTWvykdW2RpS4UJ
 8RCyMK0VWz+kl8ni+8tgax0hiN9ycHdmHQEihG1b43M3QgSziVvZwbJ9Ps3sV6BA
 3oCUDByb+CVfk2832u02JYJ00woA0AsiAy6MGFOOJDM+a99oHJm21OgmXBAhAT2K
 y+CAvoqcOB0EWEAM2PPDG+jHJ16XQkvV/WIhUx2X/agg3De2HKrSdSor5CGvlDK6
 JOzYqEdlUVtF/l/hv9PvzM0fPshZ4h1MMnFCIgmwHWG8993Lt+P0h3UGpOvoxEXh
 vaMHipoOyExu3m6jhZxT
 =rovh
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC fixes from Ulf Hansson:
 "A couple of MMC fixes:

   - fix use of uninitialized drv_typ variable

   - apply NO_CMD23 quirk to some specific SD cards to make them work"

* tag 'mmc-v4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: core: apply NO_CMD23 quirk to some specific cards
  mmc: core: properly init drv_type
This commit is contained in:
Linus Torvalds 2017-12-15 12:49:54 -08:00
commit 07a20ed1e3
3 changed files with 11 additions and 1 deletions

View File

@ -75,9 +75,11 @@ struct mmc_fixup {
#define EXT_CSD_REV_ANY (-1u)
#define CID_MANFID_SANDISK 0x2
#define CID_MANFID_ATP 0x9
#define CID_MANFID_TOSHIBA 0x11
#define CID_MANFID_MICRON 0x13
#define CID_MANFID_SAMSUNG 0x15
#define CID_MANFID_APACER 0x27
#define CID_MANFID_KINGSTON 0x70
#define CID_MANFID_HYNIX 0x90

View File

@ -1290,7 +1290,7 @@ out_err:
static void mmc_select_driver_type(struct mmc_card *card)
{
int card_drv_type, drive_strength, drv_type;
int card_drv_type, drive_strength, drv_type = 0;
int fixed_drv_type = card->host->fixed_drv_type;
card_drv_type = card->ext_csd.raw_driver_strength |

View File

@ -52,6 +52,14 @@ static const struct mmc_fixup mmc_blk_fixups[] = {
MMC_FIXUP("MMC32G", CID_MANFID_TOSHIBA, CID_OEMID_ANY, add_quirk_mmc,
MMC_QUIRK_BLK_NO_CMD23),
/*
* Some SD cards lockup while using CMD23 multiblock transfers.
*/
MMC_FIXUP("AF SD", CID_MANFID_ATP, CID_OEMID_ANY, add_quirk_sd,
MMC_QUIRK_BLK_NO_CMD23),
MMC_FIXUP("APUSD", CID_MANFID_APACER, 0x5048, add_quirk_sd,
MMC_QUIRK_BLK_NO_CMD23),
/*
* Some MMC cards need longer data read timeout than indicated in CSD.
*/