Re: why would an SD card, after 12 hours, start to fail recording video?
On Thursday 26 May 2011, Patrick Fu wrote: There are many reasons why this could happen: * You used a Kingston (or other cheap) SD card with a file system other than FAT32 I'm just curious. How could this thing (file system type) affect read/write operations? Could you explain it a little? See my article at https://lwn.net/Articles/428584/ and the survey at https://wiki.linaro.org/WorkingGroups/Kernel/Projects/FlashCardSurvey. Many cheap cards are designed for a very specific file system layout. If you do something else, you can have orders of magnitude higher write amplification. Arnd -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] omap: hsmmc: fix ocr mask usage
On Mon, Feb 21, 2011 at 9:40 PM, Kishore Kadiyala kishorek.kadiy...@gmail.com wrote: On Mon, Feb 21, 2011 at 11:37 AM, Anand Gadiyar gadi...@ti.com wrote: The OMAP HSMMC driver uses an ocr_mask to determine the list of voltages supported by the card. It populates this mask based on the list of voltages supported by the regulator that supplies the voltage. Commit 64be97822b (omap4 hsmmc: Update ocr mask for MMC2 for regulator to use) passed a fixed ocr_mask from the OMAP4 SDP board file to limit the voltage to 2.9-3.0 Volts, and updated the driver to use this mask if provided, instead of using the regulator's supported voltages. However the commit is buggy - the ocr_mask is overridden by the regulator's capabilities anyway. Fix this. (The bug shows up when a system-wide suspend is attempted on the OMAP4 SDP/Blaze platforms. The eMMC card comes up at 3V, but drops to 1.65V after the system resumes). Signed-off-by: Anand Gadiyar gadi...@ti.com Tested this patch on OMAP4430SDP OMAP4 Blaze. Tested-by: Kishore Kadiyala kishore.kadiy...@ti.com Acked-by: Balaji T K balaj...@ti.com Can you this patch be queued? Cc: Kishore Kadiyala kishore.kadiy...@ti.com Cc: Tony Lindgren t...@atomide.com Cc: Madhusudhan Chikkature madhu...@ti.com Cc: Chris Ball c...@laptop.org --- Tony, Chris, This is only a partial fix. It fixes the obvious bug introduced in the commit I noted above, however it is not the final fix. I'm not convinced the way the regulators are handled in this driver is correct - I'm still studying the code and will come up with a proper fix later. However, this does fix a real bug and I believe the bug is obvious. Would be nice to get this into the -rc series if we still can. - Anand drivers/mmc/host/omap_hsmmc.c | 1 - 1 file changed, 1 deletion(-) Index: linux-2.6/drivers/mmc/host/omap_hsmmc.c === --- linux-2.6.orig/drivers/mmc/host/omap_hsmmc.c +++ linux-2.6/drivers/mmc/host/omap_hsmmc.c @@ -413,7 +413,6 @@ static int omap_hsmmc_reg_get(struct oma return -EINVAL; } } - mmc_slot(host).ocr_mask = mmc_regulator_get_ocrmask(reg); /* Allow an aux regulator */ reg = regulator_get(host-dev, vmmc_aux); -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/1 V2] mmc: Enable MMC card reader for RICOH [1180:e823]
Please consider the following patch that enables reading MMC cards on RICOH [1180:e823] card reader. Thanks Manoj Iyer -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mmc: Enable MMC card reader for RICOH [1180:e823]
Signed-off-by: Manoj Iyer manoj.i...@canonical.com --- drivers/pci/quirks.c|2 ++ include/linux/pci_ids.h |1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index e8a1406..02145e9 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2761,6 +2761,8 @@ static void ricoh_mmc_fixup_r5c832(struct pci_dev *dev) } DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5C832, ricoh_mmc_fixup_r5c832); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832); +DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_RICOH, PCI_DEVICE_ID_RICOH_R5CE823, ricoh_mmc_fixup_r5c832); #endif /*CONFIG_MMC_RICOH_MMC*/ #if defined(CONFIG_DMAR) || defined(CONFIG_INTR_REMAP) diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 24787b7..2269dac 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1537,6 +1537,7 @@ #define PCI_DEVICE_ID_RICOH_RL5C4760x0476 #define PCI_DEVICE_ID_RICOH_RL5C4780x0478 #define PCI_DEVICE_ID_RICOH_R5C822 0x0822 +#define PCI_DEVICE_ID_RICOH_R5CE8230xe823 #define PCI_DEVICE_ID_RICOH_R5C832 0x0832 #define PCI_DEVICE_ID_RICOH_R5C843 0x0843 -- 1.7.4.1 -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[smatch stuff] mmv/VUB300: null dereferences in error handling
In vub300_probe() from drivers/mmc/host/vub300.c we dereference vub300 when it's a NULL variable. Btw, let's remove the bogus initialization to NULL so that gcc will complain if the bug gets introduced again. 2119 if (!command_out_urb) { 2120 retval = -ENOMEM; 2121 dev_err(vub300-udev-dev, 2122 not enough memory for the command_out_urb\n); 2123 goto error0; 2124 } 2125 command_res_urb = usb_alloc_urb(0, GFP_KERNEL); 2126 if (!command_res_urb) { 2127 retval = -ENOMEM; 2128 dev_err(vub300-udev-dev, 2129 not enough memory for the command_res_urb\n); 2130 goto error1; 2131 } 2132 /* this also allocates memory for our VUB300 mmc host device */ 2133 mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), udev-dev); 2134 if (!mmc) { 2135 retval = -ENOMEM; 2136 dev_err(vub300-udev-dev, 2137 not enough memory for the mmc_host\n); 2138 goto error4; 2139 } regards, dan carpenter -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] mmc: vub300: fix null dereferences in error handling
Reported-by: Dan Carpenter erro...@gmail.com Signed-off-by: Chris Ball c...@laptop.org --- On Thu, May 26 2011, Dan Carpenter wrote: In vub300_probe() from drivers/mmc/host/vub300.c we dereference vub300 when it's a NULL variable. Btw, let's remove the bogus initialization to NULL so that gcc will complain if the bug gets introduced again. Thanks Dan -- I'll queue this fix up: diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c index cbb0330..d4455ff 100644 --- a/drivers/mmc/host/vub300.c +++ b/drivers/mmc/host/vub300.c @@ -2096,7 +2096,7 @@ static struct mmc_host_ops vub300_mmc_ops = { static int vub300_probe(struct usb_interface *interface, const struct usb_device_id *id) { /* NOT irq */ - struct vub300_mmc_host *vub300 = NULL; + struct vub300_mmc_host *vub300; struct usb_host_interface *iface_desc; struct usb_device *udev = usb_get_dev(interface_to_usbdev(interface)); int i; @@ -2118,23 +2118,20 @@ static int vub300_probe(struct usb_interface *interface, command_out_urb = usb_alloc_urb(0, GFP_KERNEL); if (!command_out_urb) { retval = -ENOMEM; - dev_err(vub300-udev-dev, - not enough memory for the command_out_urb\n); + dev_err(udev-dev, not enough memory for command_out_urb\n); goto error0; } command_res_urb = usb_alloc_urb(0, GFP_KERNEL); if (!command_res_urb) { retval = -ENOMEM; - dev_err(vub300-udev-dev, - not enough memory for the command_res_urb\n); + dev_err(udev-dev, not enough memory for command_res_urb\n); goto error1; } /* this also allocates memory for our VUB300 mmc host device */ mmc = mmc_alloc_host(sizeof(struct vub300_mmc_host), udev-dev); if (!mmc) { retval = -ENOMEM; - dev_err(vub300-udev-dev, - not enough memory for the mmc_host\n); + dev_err(udev-dev, not enough memory for the mmc_host\n); goto error4; } /* MMC core transfer sizes tunable parameters */ -- Chris Ball c...@laptop.org http://printf.net/ One Laptop Per Child -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] drivers:mmc:add the NO_IRQ define to of_mmc_spi.c
On Tue, May 24, 2011 at 09:03:22PM +0800, Wanlong Gao wrote: For archs that don't support NO_IRQ (such as mips), provide a dummy value. Fix the build error for mips. Signed-off-by: Wanlong Gao wanlong@gmail.com Acked-by: Grant Likely grant.lik...@secretlab.ca --- drivers/mmc/host/of_mmc_spi.c |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/host/of_mmc_spi.c b/drivers/mmc/host/of_mmc_spi.c index e2aecb7..ab66f24 100644 --- a/drivers/mmc/host/of_mmc_spi.c +++ b/drivers/mmc/host/of_mmc_spi.c @@ -25,6 +25,11 @@ #include linux/mmc/core.h #include linux/mmc/host.h +/* For archs that don't support NO_IRQ (such as mips), provide a dummy value */ +#ifndef NO_IRQ +#define NO_IRQ 0 +#endif + MODULE_LICENSE(GPL); enum { -- 1.7.4.1 -- To unsubscribe from this list: send the line unsubscribe linux-mmc in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html