MMC host:

- bcm2835: Fix dma_unmap_sg() nents value
  - sdhci_am654: Add workaround for maximum HW timeout
  - sdhci-pci: Disable broken CQE Intel GLK-based Positivo models
 
 MEMSTICK:
  - Zero initialize id_reg in h_memstick_read_dev_id()
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmh6M4UXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCkT6xAAtq608yIHveGqYsd5t/lPyjPS
 hId0GtRRlnTdtABtZlgmQEoexBaCEMErTGztycG+gzo1HmIR5Yw5qc1lH9lQn7Zo
 a8htg0/8f9/gXZUQS/PUYNTIkbdHoMsr4RG/CxaUYOY1yEIW9LiwsMmWT4Wjz+G/
 bIqjUUHQDEI9hZyJhPr0Wo7Zr6qt4qNkQlmCj5XHiy1zWZYOUfNlAQBpRv1DoL5W
 seghyAzaHKfmVMddZPlqTvn0N+7tHVARmGCo+kwR5mcV0QvNyIPaQz/B9rlavwUH
 Txqd4WdzkgKUQRSWVBSquVQQl+yHJ/bhtJ4eOuEh0YrXTxIY4L4k+6798TnwFpdr
 Ldl+vMiCjutI3Y7OvjV3WKE1O7qpFl82tvovZUKjw88e+HQLtT9L5yhUjpspWE33
 UeDSklm09r0vNjTaj0mhl0JUFEeH5x9NZpzcUxMct0yoS/ZQ9mM6GMHxT+AieNiU
 CFGCxwk+bh1WIOV+SNxGADzylu9k2yGJTzSDzQCkWLERDey5HQRqR6Zs5pZTdUBG
 Ixc6tIps1Hq3ybOldB2WTaKb7SS29Ac/s/gqPawdjUHzPQCLCcSehi++1uchQSzu
 JfqEff8Qm9n3O/kLqKF0vwAiLp33gJWBC9h9r/55gnidATozNj/DG1XpPbxCMSMm
 f1t2m9bOyWByCLOzPZI=
 =I5Rc
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v6.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC fixes from Ulf Hansson:
 "MMC host:

   - bcm2835: Fix dma_unmap_sg() nents value

   - sdhci_am654: Add workaround for maximum HW timeout

   - sdhci-pci: Disable broken CQE Intel GLK-based Positivo models

  MEMSTICK:

   - Zero initialize id_reg in h_memstick_read_dev_id()"

* tag 'mmc-v6.16-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  memstick: core: Zero initialize id_reg in h_memstick_read_dev_id()
  mmc: bcm2835: Fix dma_unmap_sg() nents value
  mmc: sdhci_am654: Workaround for Errata i2312
  mmc: sdhci-pci: Quirk for broken command queuing on Intel GLK-based Positivo models
This commit is contained in:
Linus Torvalds 2025-07-18 10:23:03 -07:00
commit a4e3703088
4 changed files with 11 additions and 6 deletions

View File

@ -324,7 +324,7 @@ EXPORT_SYMBOL(memstick_init_req);
static int h_memstick_read_dev_id(struct memstick_dev *card,
struct memstick_request **mrq)
{
struct ms_id_register id_reg;
struct ms_id_register id_reg = {};
if (!(*mrq)) {
memstick_init_req(&card->current_mrq, MS_TPC_READ_REG, &id_reg,

View File

@ -503,7 +503,8 @@ void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!desc) {
dma_unmap_sg(dma_chan->device->dev, data->sg, sg_len, dir_data);
dma_unmap_sg(dma_chan->device->dev, data->sg, data->sg_len,
dir_data);
return;
}

View File

@ -913,7 +913,8 @@ static bool glk_broken_cqhci(struct sdhci_pci_slot *slot)
{
return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC &&
(dmi_match(DMI_BIOS_VENDOR, "LENOVO") ||
dmi_match(DMI_SYS_VENDOR, "IRBIS"));
dmi_match(DMI_SYS_VENDOR, "IRBIS") ||
dmi_match(DMI_SYS_VENDOR, "Positivo Tecnologia SA"));
}
static bool jsl_broken_hs400es(struct sdhci_pci_slot *slot)

View File

@ -613,7 +613,8 @@ static const struct sdhci_ops sdhci_am654_ops = {
static const struct sdhci_pltfm_data sdhci_am654_pdata = {
.ops = &sdhci_am654_ops,
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
};
static const struct sdhci_am654_driver_data sdhci_am654_sr1_drvdata = {
@ -643,7 +644,8 @@ static const struct sdhci_ops sdhci_j721e_8bit_ops = {
static const struct sdhci_pltfm_data sdhci_j721e_8bit_pdata = {
.ops = &sdhci_j721e_8bit_ops,
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
};
static const struct sdhci_am654_driver_data sdhci_j721e_8bit_drvdata = {
@ -667,7 +669,8 @@ static const struct sdhci_ops sdhci_j721e_4bit_ops = {
static const struct sdhci_pltfm_data sdhci_j721e_4bit_pdata = {
.ops = &sdhci_j721e_4bit_ops,
.quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
.quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN |
SDHCI_QUIRK2_DISABLE_HW_TIMEOUT,
};
static const struct sdhci_am654_driver_data sdhci_j721e_4bit_drvdata = {