diff for duplicates of <201102171917.41442.marek.vasut@gmail.com> diff --git a/a/1.txt b/N1/1.txt index 2676994..f0f6209 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -36,7 +36,7 @@ On Thursday 17 February 2011 08:43:07 Vasily Khoruzhick wrote: > @@ -636,7 +639,8 @@ static void overlay1fb_disable(struct pxafb_layer *ofb) > lcd_writel(ofb->fbi, FBR1, ofb->fbi->fdadr[DMA_OV1] | 0x3); > -> if (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) = 0) +> if (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) == 0) > - pr_warning("%s: timeout disabling overlay1\n", __func__); > + pr_warning("%s: timeout disabling overlay1\n", > + __func__); @@ -56,7 +56,7 @@ On Thursday 17 February 2011 08:43:07 Vasily Khoruzhick wrote: > @@ -696,7 +703,8 @@ static void overlay2fb_disable(struct pxafb_layer *ofb) > lcd_writel(ofb->fbi, FBR4, ofb->fbi->fdadr[DMA_OV2_Cr] | 0x3); > -> if (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) = 0) +> if (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) == 0) > - pr_warning("%s: timeout disabling overlay2\n", __func__); > + pr_warning("%s: timeout disabling overlay2\n", > + __func__); @@ -64,18 +64,18 @@ On Thursday 17 February 2011 08:43:07 Vasily Khoruzhick wrote: > > static struct pxafb_layer_ops ofb_ops[] = { > @@ -720,12 +728,10 @@ static int overlayfb_open(struct fb_info *info, int -> user) if (user = 0) +> user) if (user == 0) > return -ENODEV; > Why are you getting rid of the atomic operations ? -Besides, "if (ofb->usage++ = 0)" looks suspicious, especially if you later +Besides, "if (ofb->usage++ == 0)" looks suspicious, especially if you later declare it as uint32_t. > - /* allow only one user at a time */ > - if (atomic_inc_and_test(&ofb->usage)) > - return -EBUSY; -> + if (ofb->usage++ = 0) +> + if (ofb->usage++ == 0) > + /* unblank the base framebuffer */ > + fb_blank(&ofb->fbi->fb, FB_BLANK_UNBLANK); > @@ -97,7 +97,7 @@ DTTO, why no atomic? > - free_pages_exact(ofb->video_mem, ofb->video_mem_size); > - ofb->video_mem = NULL; > - ofb->video_mem_size = 0; -> + if (--ofb->usage = 0) { +> + if (--ofb->usage == 0) { > + ofb->ops->disable(ofb); > + ofb->fb.var.height = -1; > + ofb->fb.var.width = -1; diff --git a/a/content_digest b/N1/content_digest index ae61599..0caccda 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,8 +1,8 @@ "ref\0201102151718.00800.anarsoul@gmail.com\0" "ref\01297928588-10545-1-git-send-email-anarsoul@gmail.com\0" - "From\0Marek Vasut <marek.vasut@gmail.com>\0" - "Subject\0Re: [PATCH 1/2] ARM: PXA: PXAFB: Fix double-free issue.\0" - "Date\0Thu, 17 Feb 2011 18:17:41 +0000\0" + "From\0marek.vasut@gmail.com (Marek Vasut)\0" + "Subject\0[PATCH 1/2] ARM: PXA: PXAFB: Fix double-free issue.\0" + "Date\0Thu, 17 Feb 2011 19:17:41 +0100\0" "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" @@ -44,7 +44,7 @@ "> @@ -636,7 +639,8 @@ static void overlay1fb_disable(struct pxafb_layer *ofb)\n" "> \tlcd_writel(ofb->fbi, FBR1, ofb->fbi->fdadr[DMA_OV1] | 0x3);\n" "> \n" - "> \tif (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) = 0)\n" + "> \tif (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) == 0)\n" "> -\t\tpr_warning(\"%s: timeout disabling overlay1\\n\", __func__);\n" "> +\t\tpr_warning(\"%s: timeout disabling overlay1\\n\",\n" "> +\t\t\t__func__);\n" @@ -64,7 +64,7 @@ "> @@ -696,7 +703,8 @@ static void overlay2fb_disable(struct pxafb_layer *ofb)\n" "> \tlcd_writel(ofb->fbi, FBR4, ofb->fbi->fdadr[DMA_OV2_Cr] | 0x3);\n" "> \n" - "> \tif (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) = 0)\n" + "> \tif (wait_for_completion_timeout(&ofb->branch_done, 1 * HZ) == 0)\n" "> -\t\tpr_warning(\"%s: timeout disabling overlay2\\n\", __func__);\n" "> +\t\tpr_warning(\"%s: timeout disabling overlay2\\n\",\n" "> +\t\t\t__func__);\n" @@ -72,18 +72,18 @@ "> \n" "> static struct pxafb_layer_ops ofb_ops[] = {\n" "> @@ -720,12 +728,10 @@ static int overlayfb_open(struct fb_info *info, int\n" - "> user) if (user = 0)\n" + "> user) if (user == 0)\n" "> \t\treturn -ENODEV;\n" "> \n" "\n" "Why are you getting rid of the atomic operations ?\n" - "Besides, \"if (ofb->usage++ = 0)\" looks suspicious, especially if you later \n" + "Besides, \"if (ofb->usage++ == 0)\" looks suspicious, especially if you later \n" "declare it as uint32_t.\n" "\n" "> -\t/* allow only one user at a time */\n" "> -\tif (atomic_inc_and_test(&ofb->usage))\n" "> -\t\treturn -EBUSY;\n" - "> +\tif (ofb->usage++ = 0)\n" + "> +\tif (ofb->usage++ == 0)\n" "> +\t\t/* unblank the base framebuffer */\n" "> +\t\tfb_blank(&ofb->fbi->fb, FB_BLANK_UNBLANK);\n" "> \n" @@ -105,7 +105,7 @@ "> -\tfree_pages_exact(ofb->video_mem, ofb->video_mem_size);\n" "> -\tofb->video_mem = NULL;\n" "> -\tofb->video_mem_size = 0;\n" - "> +\tif (--ofb->usage = 0) {\n" + "> +\tif (--ofb->usage == 0) {\n" "> +\t\tofb->ops->disable(ofb);\n" "> +\t\tofb->fb.var.height\t= -1;\n" "> +\t\tofb->fb.var.width\t= -1;\n" @@ -186,4 +186,4 @@ "> \n" "> \tstruct pxafb_layer_ops\t*ops;" -68493174c470cc64cc88b47ff7c9e808a66e8f0fb4020b4bdf1a6b66d77396b2 +49c1d6605794688112eec653d7ad91c4639fca6e16e52eee49c7036151df42eb
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.