[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120813232708.GF25632@google.com>
Date: Mon, 13 Aug 2012 16:27:08 -0700
From: Tejun Heo <tj@...nel.org>
To: Bruno Prémont <bonbons@...ux-vserver.org>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Jiri Kosina <jkosina@...e.cz>, linux-fbdev@...r.kernel.org
Subject: Re: [PATCH 0/7] HID: picoLCD updates
Hello,
On Thu, Aug 09, 2012 at 08:09:47PM +0200, Bruno Prémont wrote:
> As you are working on workqueues and related code, could you have a look
> at my usage of them in combination with db_defio?
>
> The delayed memory corruptions or system reboots after unbinding/unplugging
> the PicoLCD seem very much related to workqueue used to handle the deferred
> IO to framebuffer.
>
> I think things don't get cleaned-up as they should though I'm not sure
> where the trouble lies.
>
> For ease of reading, I'm inlineing below the framebuffer related code of
> PicoLCD (for complete driver after this patch series apply the whole series
> on top of 3.5 https://lkml.org/lkml/2012/7/30/375 )
...
> void picolcd_exit_framebuffer(struct picolcd_data *data)
> {
> struct fb_info *info = data->fb_info;
> u8 *fb_vbitmap = data->fb_vbitmap;
>
> if (!info)
> return;
>
> device_remove_file(&data->hdev->dev, &dev_attr_fb_update_rate);
> info->par = NULL;
> unregister_framebuffer(info);
> data->fb_vbitmap = NULL;
> data->fb_bitmap = NULL;
> data->fb_bpp = 0;
> data->fb_info = NULL;
> kfree(fb_vbitmap);
> }
I'm kinda shooting in the dark but who flushes / cancels
fb_info->deferred_work?
Thanks.
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists