diff for duplicates of <50581127.2000003@kmckk.co.jp> diff --git a/a/1.txt b/N1/1.txt index 8c21a76..9d42a21 100644 Binary files a/a/1.txt and b/N1/1.txt differ diff --git a/a/content_digest b/N1/content_digest index 8064918..a320db4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -15,7 +15,7 @@ "ref\050402A0D.7070106@kmckk.co.jp\0" "From\0Tetsuyuki Kobayashi <koba@kmckk.co.jp>\0" "Subject\0Re: [PATCH] mmc: sh-mmcif: avoid Oops on spurious interrupts\0" - "Date\0Tue, 18 Sep 2012 15:13:59 +0900\0" + "Date\0Tue, 18 Sep 2012 06:13:59 +0000\0" "Cc\0Guennadi Liakhovetski <g.liakhovetski@gmx.de>" yusuke.goda.sx@renesas.com Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> @@ -55,7 +55,7 @@ ">>> Unable to handle kernel NULL pointer dereference at virtual address\n" ">>> 00000008\n" ">>> pgd = c0004000\n" - ">>> [00000008] *pgd=00000000\n" + ">>> [00000008] *pgd\0000000\n" ">>> Internal error: Oops: 17 [#1] PREEMPT SMP ARM\n" ">>> Modules linked in:\n" ">>> CPU: 1 Not tainted (3.6.0-rc2+ #103)\n" @@ -81,8 +81,8 @@ ">>> + struct mmc_data *data;\n" ">>> +\n" ">>> + /* quick fix by koba */\n" - ">>> + if (mrq == NULL) {\n" - ">>> + printk(\"sh_mmcif_irqt: mrq == NULL:\n" + ">>> + if (mrq = NULL) {\n" + ">>> + printk(\"sh_mmcif_irqt: mrq = NULL:\n" ">>> host->wait_for=%d\\n\", host->wait_for);\n" ">>> + } else {\n" ">>> + data = mrq->data;\n" @@ -93,8 +93,8 @@ ">>>\n" ">>> With this patch, there is no null pointer accesses and got this log.\n" ">>>\n" - ">>> sh_mmcif_irqt: mrq == NULL: host->wait_for=0\n" - ">>> sh_mmcif_irqt: mrq == NULL: host->wait_for=0\n" + ">>> sh_mmcif_irqt: mrq = NULL: host->wait_for=0\n" + ">>> sh_mmcif_irqt: mrq = NULL: host->wait_for=0\n" ">>> ...\n" ">>>\n" ">>> host->wait_for is 0. it is MMCIF_WAIT_FOR_REQUEST.\n" @@ -103,7 +103,7 @@ ">>> host->wait_for = MMCIF_WAIT_FOR_REQUEST;\n" ">>> host->mrq = NULL;\n" ">>>\n" - ">>> So, at the top of sh_mmcif_irqt, if host->wait_for ==\n" + ">>> So, at the top of sh_mmcif_irqt, if host->wait_for =\n" ">>> MMCIF_WAIT_FOR_REQUEST,\n" ">>> host->mrq = NULL.\n" ">>> It is too earlier to access mrq->data before checking host->mrq. it may\n" @@ -154,8 +154,7 @@ ">> if (host->wait_for != MMCIF_WAIT_FOR_STOP) {\n" ">> + struct mmc_data *data = mrq->data;\n" ">> if (!mrq->cmd->error && data && !data->error)\n" - ">> data->bytes_xfered =\n" - ">> data->blocks * data->blksz;\n" + ">> data->bytes_xfered >> data->blocks * data->blksz;\n" ">>\n" ">\n" "> I tried this patch. It seems better.\n" @@ -165,7 +164,7 @@ "> How about add this code at the top of sh_mmcif_irqt or before returning\n" "> IRQ_WAKE_THREAD in sh_mmcif_intr ?\n" ">\n" - "> if (host->state == STATE_IDLE)\n" + "> if (host->state = STATE_IDLE)\n" "> return IRQ_HANDLED;\n" ">\n" "> I will rebase my test environment to v3.6-rc3 or later. Then I will\n" @@ -174,4 +173,4 @@ "How is this?\n" I hope this fixed in v3.6. -07ee9b0097af50e168df5ded7bc52acf1f0666bcc04ac007e3efbad61bca490e +fd89273c5658fcae2c20f465e13adc1651307ab3db9ac2690c3e552482e5d0f2
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.