Re: why would an SD card, after 12 hours, start to fail recording video?

2011-05-26 Thread Arnd Bergmann
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

2011-05-26 Thread T Krishnamoorthy, Balaji
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]

2011-05-26 Thread Manoj Iyer


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]

2011-05-26 Thread Manoj Iyer
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

2011-05-26 Thread Dan Carpenter

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

2011-05-26 Thread Chris Ball
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

2011-05-26 Thread Grant Likely
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