linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Video driver bug
@ 2000-10-07 11:38 Samuel Rydh
  2000-10-07 17:56 ` Geert Uytterhoeven
  0 siblings, 1 reply; 26+ messages in thread
From: Samuel Rydh @ 2000-10-07 11:38 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: olh


Certain 2.4 video drivers (aty128, aty, platinum, tdfx, iga)
appear to be buggy. More specifically, the problem is the
following:

In the set_disp function, info->dispsw is initialized and disp->dispsw
is given the address of info->dispsw:

	static void aty128_set_disp(..)
	{
	  switch(bpp) {
	    case 8:
	        info->dispsw = accel ? fbcon_aty128_8 : fbcon_cfb8;
	        disp->dispsw = &info->dispsw;
	        break;
	   ...
	}

The problem is that the info struct is shared by all virtual consoles.
Thus if the video mode is set on a console which is not active, the
active console will be affected too. This typically results in a kernel
panic (the wrong set of console output functions is used).

This problem is observable if one starts MOL from the console. MOL
changes the video mode on an inactive console in order to extract
certain video mode parameters (like rowbytes).

One way to fix the bug is changing set_disp to the following:

	static void aty128_set_disp(..)
	{
	  switch(bpp) {
	    case 8:
	        disp->dispsw = accel ? &fbcon_aty128_8 : &fbcon_cfb8;
	        break;
	   ...
	}

This is how the code used to look like (before 2.3.43-pre5).
Does anyone know why this was changed?


Cheers,

/Samuel



----------------------------------------------------------
 E-mail <samuel@ibrium.se>  WWW: <http://www.ibrium.se>
  Phone/fax: (home) +46 8 4418431, (work) +46 8 7908470
----------------------------------------------------------

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2000-10-21 13:22 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-10-07 11:38 Video driver bug Samuel Rydh
2000-10-07 17:56 ` Geert Uytterhoeven
2000-10-07 18:50   ` Takashi Oe
2000-10-07 23:34     ` Samuel Rydh
2000-10-10  1:43   ` [linux-fbdev] " James Simmons
2000-10-10  8:04     ` Geert Uytterhoeven
2000-10-10 13:45       ` Geert Uytterhoeven
2000-10-11  3:18         ` James Simmons
2000-10-13 20:43         ` Benjamin Herrenschmidt
2000-10-13 22:42           ` Takashi Oe
2000-10-14 16:41             ` Geert Uytterhoeven
2000-10-17  0:22               ` James Simmons
2000-10-16 22:20                 ` Samuel Rydh
2000-10-17 11:37                   ` Geert Uytterhoeven
2000-10-18  4:09                     ` James Simmons
2000-10-21 13:22                     ` Samuel Rydh
2000-10-14  6:36           ` James Simmons
2000-10-14 10:09           ` Geert Uytterhoeven
2000-10-14 12:24             ` Samuel Rydh
2000-10-11  0:05       ` James Simmons
2000-10-10 19:53         ` Geert Uytterhoeven
2000-10-11  5:23           ` James Simmons
2000-10-14 16:21   ` Geert Uytterhoeven
2000-10-14 17:18     ` Benjamin Herrenschmidt
2000-10-15 11:38       ` Geert Uytterhoeven
2000-10-17  0:03       ` James Simmons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).