Re: [Linux-fbdev-devel] Behaviour change of /dev/fb0?

Andrew Morton
2006-04-15T04:31:40Z

"Antonino A. Daplas" <adaplas@gmail.com> wrote:
>
> Richard Purdie wrote:
> > Ignoring whether this is a good idea or not, under 2.6.15 you could run
> >
> > dd if=/dev/zero of=/dev/fb0
> >
> > which would clear the framebuffer. It would end up saying "dd: /dev/fb0:
> > No space left on device".
> >
> > Under 2.6.16 (and a recent git kernel), the same command clears the
> > screen but then hangs. Was the change in behaviour intentional?
> >
> > I've noticed this on a couple of ARM based Zaurus handhelds under both
> > w100fb and pxafb.
> >
>
> After reading 'man 2 read' more thoroughly, I've adjusted fb_write()'s
> return codes appropriately. Can you try this patch and let me know if it
> fixes your problem.
>
> Tony
>
> fbdev: Fix return error of fb_write()
>
> - return -EFBIG if file offset is past the maximum allowable offset

OK.

> - return -EFBIG and write to end of framebuffer if size is bigger than the
> framebuffer length

We should return the number of bytes written in this case.

> - return -ENOSPC and write to end of framebuffer if size is bigger than the
> framebuffer length - file offset

Also here.

If we can transfer _any_ bytes, we should do so, then return the number of
bytes transferred. If no bytes were transferrable then we should return
-Ewhatever.