lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 14 Jun 2012 13:18:02 +0800
From:	Ming Lei <ming.lei@...onical.com>
To:	"T Krishnamoorthy, Balaji" <balajitk@...com>
Cc:	linux-mmc@...r.kernel.org,
	linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Chris Ball <cjb@...top.org>, Venkatraman S <svenkatr@...com>
Subject: Re: MMC: commit dba3c29 ruins mmc card data on beagle-xm revB

On Wed, Jun 13, 2012 at 1:26 PM, S, Venkatraman <svenkatr@...com> wrote:
> Ming,
>  Just to keep you posted, Balaji and myself are trying to reproduce
> the issue and haven't hit the problem yet.
> This patch was in use internaly for sometime before we sent it upstream.
> Meanwhile, is is possible for you to reproduce this problem with
> MMC_DEBUG enabled ? That would be helpful.

See attachment.

On Wed, Jun 13, 2012 at 11:28 PM, T Krishnamoorthy, Balaji
> Hi,
>
> Couldn't reproduce the issue with BeagleXM rev C, Might be a combination

Maybe, the problem can't be observed on my beagle revC and Panda,
but can be observed on the beagle XM revB.

Also it is only triggered on my two 8GB kingston mmc cards(class 4).
Looks no such problem on another 4GB kingston mmc card(class 4).

> of rev and SD card. How often do you see mis-match in file content?
>
> Can you please try the inlined patch to get more info?

No any extra info got after applying your patch.

>
> ---
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 9a7a60a..77aabe6 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -60,6 +60,7 @@
>  #define OMAP_HSMMC_STAT                0x0130
>  #define OMAP_HSMMC_IE          0x0134
>  #define OMAP_HSMMC_ISE         0x0138
> +#define OMAP_HSMMC_AC12                0x013C
>  #define OMAP_HSMMC_CAPA                0x0140
>
>  #define VS18                   (1 << 26)
> @@ -177,6 +178,7 @@ struct omap_hsmmc_host {
>        int                     reqs_blocked;
>        int                     use_reg;
>        int                     req_in_progress;
> +       int                     autocmd_err;
>        unsigned int            flags;
>        struct omap_hsmmc_next  next_data;
>
> @@ -983,6 +985,7 @@ static void omap_hsmmc_do_irq(struct
> omap_hsmmc_host *host, int status)
>  {
>        struct mmc_data *data;
>        int end_cmd = 0, end_trans = 0;
> +       u32 autocmd12;
>
>        if (!host->req_in_progress) {
>                do {
> @@ -998,6 +1001,13 @@ static void omap_hsmmc_do_irq(struct
> omap_hsmmc_host *host, int status)
>
>        if (status & ERR) {
>                omap_hsmmc_dbg_report_irq(host, status);
> +               if (status & (1 << 24)) {
> +                       host->autocmd_err = 1;
> +                       dev_err(mmc_dev(host->mmc), "AutoCMD error STAT 0x%x\n", status);
> +                       autocmd12 = OMAP_HSMMC_READ(host->base, AC12);
> +                       dev_err(mmc_dev(host->mmc), "AutoCMD error 0x%x\n", autocmd12);
> +               }
> +
>                if ((status & CMD_TIMEOUT) ||
>                        (status & CMD_CRC)) {
>                        if (host->cmd) {
> ---
>>

Thanks,
--
Ming Lei

Download attachment "mmc-ruin.tar.gz" of type "application/x-gzip" (117172 bytes)

Powered by blists - more mailing lists