Hi, this patch fixes a kernel oops in bttv_open with latest snapshot. - Gunther --- bttv7-20031024/bttvp.h-this-oopses-or-worse Sun Nov 2 23:50:34 2003 +++ bttv7-20031024/bttvp.h Sun Nov 2 23:57:16 2003 @@ -113,14 +113,18 @@ }; struct bttv { - struct bttv_core c; - + // FIXME: some code silently assumes "&btv == &btv->video_dev", so + // this struct has to start with "video_dev" ! else: oopses. + // (e.g. see bttv_open vs. init_video_dev) struct video_device video_dev; struct video_device radio_dev; struct video_device vbi_dev; struct video_picture picture; /* Current picture params */ struct video_audio audio_dev; /* Current audio params */ + struct bttv_core c; + + spinlock_t s_lock; struct semaphore lock; unsigned int user;
--- bttv7-20031024/bttvp.h-this-oopses-or-worse Sun Nov 2 23:50:34 2003 +++ bttv7-20031024/bttvp.h Sun Nov 2 23:57:16 2003 @@ -113,14 +113,18 @@ }; struct bttv { - struct bttv_core c; - + // FIXME: some code silently assumes "&btv == &btv->video_dev", so + // this struct has to start with "video_dev" ! else: oopses. + // (e.g. see bttv_open vs. init_video_dev) struct video_device video_dev; struct video_device radio_dev; struct video_device vbi_dev; struct video_picture picture; /* Current picture params */ struct video_audio audio_dev; /* Current audio params */ + struct bttv_core c; + + spinlock_t s_lock; struct semaphore lock; unsigned int user;