linux/drivers
Florian Tobias Schandinat 0fcf6ada2b fb: do not ignore fb_set_par errors
At the moment about half of the framebuffer drivers can return an error
code in fb_set_par. Until now it would be silently ignored by fbmem.c
and fbcon.c. This patch fixes fbmem.c to return the error code and
restore var on error.

But it is not clear in which video mode the device is when fb_set_par
fails.  It would be good and reasonable if it were in the old state but
there is no guarantee that this is true for all existing drivers.
Additionally print a message if a failing fb_set_par is detected in
fbmem.c or fbcon.c.

Although most errors should be caught by the previous fb_check_var some
errors can't as they are dynamic (memory allocations, ...) and can only be
detected while performing the operations which is forbidden in
fb_check_var.

This patch shouldn't have a negative impact on normal operation as all
drivers return 0 on success.  The impact in case of error depends heavily
on the driver and caller but it's expected to be better than before.

Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-23 07:39:56 -07:00
..
accessibility
acpi x86: Trivial whitespace cleanups 2009-09-20 20:18:57 +02:00
amba
ata trivial: fix comment typo in drivers/ata/pata_hpt37x.c 2009-09-21 15:15:53 +02:00
atm
auxdisplay
base mm: oom analysis: add shmem vmstat 2009-09-22 07:17:27 -07:00
block seq_file: constify seq_operations 2009-09-23 07:39:29 -07:00
bluetooth
cdrom const: make block_device_operations const 2009-09-22 07:17:25 -07:00
char BUILD_BUG_ON(): fix it and a couple of bogus uses of it 2009-09-23 07:39:29 -07:00
clocksource
connector proc connector: add event for process becoming session leader 2009-09-23 07:39:29 -07:00
cpufreq
cpuidle cpuidle: menu governor: reduce latency on exit 2009-09-22 07:17:45 -07:00
crypto
dca
dio
dma
edac trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
eisa
firewire
firmware mm: don't use alloc_bootmem_low() where not strictly needed 2009-09-22 07:17:38 -07:00
gpio gpio: gpio support for ADP5520/ADP5501 MFD PMICs 2009-09-23 07:39:48 -07:00
gpu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-09-22 07:51:28 -07:00
hwmon spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
i2c [PATCH] i2c-imx: make bus available early 2009-09-19 23:36:56 +01:00
ide Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
idle
ieee1394
ieee802154
infiniband walk system ram range 2009-09-23 07:39:41 -07:00
input spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
isdn seq_file: constify seq_operations 2009-09-23 07:39:29 -07:00
leds spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
lguest trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
macintosh trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
mca
md Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
memstick const: make block_device_operations const 2009-09-22 07:17:25 -07:00
message Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
mfd mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib 2009-09-23 07:39:48 -07:00
misc spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
mmc spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
mtd spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
net spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
nubus
of of: remove "stm,m25p40" alias 2009-09-23 07:39:43 -07:00
oprofile const: mark remaining super_operations const 2009-09-22 07:17:24 -07:00
parisc mm: replace various uses of num_physpages by totalram_pages 2009-09-22 07:17:38 -07:00
parport
pci
pcmcia pcmcia: cleanup/fixup patch for sa1100_jornada_pcmcia driver 2009-09-22 07:17:42 -07:00
platform
pnp pnp: add a shutdown method to pnp drivers 2009-09-22 07:17:49 -07:00
power
pps
ps3
rapidio
regulator
rtc rtc: add boot_timesource sysfs attribute 2009-09-23 07:39:46 -07:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
sbus const: make block_device_operations const 2009-09-22 07:17:25 -07:00
scsi seq_file: constify seq_operations 2009-09-23 07:39:29 -07:00
serial spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
sh
sn
spi spi: handle TX-only/RX-only 2009-09-23 07:39:44 -07:00
ssb
staging spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
tc
telephony
thermal
uio
usb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
uwb trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
video fb: do not ignore fb_set_par errors 2009-09-23 07:39:56 -07:00
virtio
vlynq vlynq: includecheck fix: drivers/vlynq/vlynq.c 2009-09-23 07:39:30 -07:00
w1
watchdog
xen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-09-22 07:51:45 -07:00
zorro
Kconfig
Makefile