Messages in this thread Patches in this message | | | Date | Thu, 20 May 1999 16:21:02 +0200 (DFT) | From | Konrad Rosenbaum <> | Subject | Muted MSP3400 - Bugfix |
| |
Patch for infinitely muted TV-cards -------------------------------------
Problem: The sound of my video board was muted and there was no possibility to unmute it, so I began to hack... TV-Board: Terratec TV+ Soundboard: Miro PCM10 (MAD16, for the case this is of any interest) Graph.b.: Matrox Millenium G200 (PCI code 0x0521, sits on AGP) no Frame Buffer device activated in kernel XFree: 3.3.3.1 Kernel: 2.2.5 and 2.2.8 Compiler: egcs-2.91.66
Solvage: Seems that this patch works around a gcc vs. egcs problem... I simply removed the &'s at below "static struct file_operations ...", I don't know why both compilers accepted them (shouldn't give back any useful information) and why they didn't warn about incompatible pointers, even more: why gcc gave the correct pointers... My problem: func() is a call, func is the pointer, but &func a pointer on a inlined pointer ... still there are wonders and mysts... BTW: my congratulations to the author of the VFS, it kept stable even with these nifty pointers...
Patches: msp3400.patch.kern228 a patch againts drivers/char/msp3400.c in the 2.2.8 kernel msp3400.patch.064 against driver/msp3400.c in the external bttv 0.6.4 release
Warning: This was the first time I ever hacked into the kernel, although the Linux kernel is the most readable code I ever read (and modified) I recommend that one of the "gurus" validates my patches.
happy hacking, Konrad--- msp3400.c.old Sat May 15 13:08:06 1999 +++ msp3400.c Sat May 15 13:08:08 1999 @@ -993,16 +993,16 @@ } static /*const*/ struct file_operations msp3400c_mixer_fops = { - &msp3400c_mixer_llseek, + msp3400c_mixer_llseek, NULL, /* read */ NULL, /* write */ NULL, /* readdir */ NULL, /* poll */ - &msp3400c_mixer_ioctl, + msp3400c_mixer_ioctl, NULL, /* mmap */ - &msp3400c_mixer_open, + msp3400c_mixer_open, NULL, - &msp3400c_mixer_release, + msp3400c_mixer_release, NULL, /* fsync */ NULL, /* fasync */ NULL, /* check_media_change */--- msp3400.c.old Sat May 15 13:11:21 1999 +++ msp3400.c Sat May 15 13:11:47 1999 @@ -1172,16 +1172,16 @@ } static /*const*/ struct file_operations msp3400c_mixer_fops = { - &msp3400c_mixer_llseek, + msp3400c_mixer_llseek, NULL, /* read */ NULL, /* write */ NULL, /* readdir */ NULL, /* poll */ - &msp3400c_mixer_ioctl, + msp3400c_mixer_ioctl, NULL, /* mmap */ - &msp3400c_mixer_open, + msp3400c_mixer_open, NULL, - &msp3400c_mixer_release, + msp3400c_mixer_release, NULL, /* fsync */ NULL, /* fasync */ NULL, /* check_media_change */ | |