The patch titled ricoh_mmc: Handle newer models of Ricoh controllers has been added to the -mm tree. Its filename is ricoh_mmc-handle-newer-models-of-ricoh-controllers.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: ricoh_mmc: Handle newer models of Ricoh controllers From: Philip Langdale <philipl@xxxxxxxxx> The latest generation of laptops are shipping with a newer model of Ricoh chip where the firewire controller is the primary PCI function but a cardbus controller is also present. The existing code assumes that if a cardbus controller is, present, then it must be the one to manipulate - but the real rule is that you manipulate PCI function 0. This patch adds an additional constraint that the target must be function 0. Signed-off-by: Philip Langdale <philipl@xxxxxxxxx> Cc: Pierre Ossman <drzeus@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/mmc/host/ricoh_mmc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff -puN drivers/mmc/host/ricoh_mmc.c~ricoh_mmc-handle-newer-models-of-ricoh-controllers drivers/mmc/host/ricoh_mmc.c --- a/drivers/mmc/host/ricoh_mmc.c~ricoh_mmc-handle-newer-models-of-ricoh-controllers +++ a/drivers/mmc/host/ricoh_mmc.c @@ -146,6 +146,7 @@ static int __devinit ricoh_mmc_probe(str pci_get_device(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_RL5C476, fw_dev))) { if (PCI_SLOT(pdev->devfn) == PCI_SLOT(fw_dev->devfn) && + PCI_FUNC(fw_dev->devfn) == 0 && pdev->bus == fw_dev->bus) { if (ricoh_mmc_disable(fw_dev) != 0) return -ENODEV; @@ -163,6 +164,7 @@ static int __devinit ricoh_mmc_probe(str (fw_dev = pci_get_device(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, fw_dev))) { if (PCI_SLOT(pdev->devfn) == PCI_SLOT(fw_dev->devfn) && + PCI_FUNC(fw_dev->devfn) == 0 && pdev->bus == fw_dev->bus) { if (ricoh_mmc_disable(fw_dev) != 0) return -ENODEV; @@ -175,7 +177,7 @@ static int __devinit ricoh_mmc_probe(str if (!ctrlfound) { printk(KERN_WARNING DRIVER_NAME - ": Main firewire function not found. Cannot disable controller.\n"); + ": Main Ricoh function not found. Cannot disable controller.\n"); return -ENODEV; } _ Patches currently in -mm which might be from philipl@xxxxxxxxx are linux-next.patch ricoh_mmc-handle-newer-models-of-ricoh-controllers.patch ricoh_mmc-use-suspend-resume_noirq.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html