[PATCH] Fix speakers on Acer Predator Helios 500 Ryzen laptops

2019-03-04 Thread Bernhard Rosenkraenzer
On an Acer Predator Helios 500 (Ryzen version), the laptop's speakers
don't work out of the box.

The problem can be worked around with hdajackretask, remapping the
"Black Headphone, Right side" pin (0x21) to the Internal speaker.

This patch adds a quirk to change this mapping by default.

Signed-off-by: Bernhard Rosenkraenzer 


diff -up linux-5.0-rc8/sound/pci/hda/patch_realtek.c.0006~ 
linux-5.0-rc8/sound/pci/hda/patch_realtek.c
--- linux-5.0-rc8/sound/pci/hda/patch_realtek.c.0006~   2019-02-25 
01:46:45.0 +0100
+++ linux-5.0-rc8/sound/pci/hda/patch_realtek.c 2019-02-25 17:55:27.032586591 
+0100
@@ -1857,6 +1857,7 @@ enum {
ALC1220_FIXUP_CLEVO_P950,
ALC1220_FIXUP_SYSTEM76_ORYP5,
ALC1220_FIXUP_SYSTEM76_ORYP5_PINS,
+   ALC299_FIXUP_PREDATOR_SPK,
 };
 
 static void alc889_fixup_coef(struct hda_codec *codec,
@@ -6627,6 +6628,13 @@ static const struct hda_fixup alc269_fix
.chained = true,
.chain_id = ALC285_FIXUP_LENOVO_HEADPHONE_NOISE
},
+   [ALC299_FIXUP_PREDATOR_SPK] = {
+   .type = HDA_FIXUP_PINS,
+   .v.pins = (const struct hda_pintbl[]) {
+   { 0x21, 0x90170150 }, /* use as headset mic, without 
its own jack detect */
+   { }
+   }
+   },
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -6643,6 +6651,7 @@ static const struct snd_pci_quirk alc269
SND_PCI_QUIRK(0x1025, 0x079b, "Acer Aspire V5-573G", 
ALC282_FIXUP_ASPIRE_V5_PINS),
SND_PCI_QUIRK(0x1025, 0x102b, "Acer Aspire C24-860", 
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1025, 0x106d, "Acer Cloudbook 14", 
ALC283_FIXUP_CHROME_BOOK),
+   SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", 
ALC299_FIXUP_PREDATOR_SPK),
SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", 
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", 
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", 
ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE),
@@ -7037,6 +7046,7 @@ static const struct hda_model_fixup alc2
{.id = ALC255_FIXUP_DELL_HEADSET_MIC, .name = "alc255-dell-headset"},
{.id = ALC295_FIXUP_HP_X360, .name = "alc295-hp-x360"},
{.id = ALC225_FIXUP_HEADSET_JACK, .name = "alc-sense-combo"},
+   {.id = ALC299_FIXUP_PREDATOR_SPK, .name = "predator-spk"},
{}
 };
 #define ALC225_STANDARD_PINS \
@@ -7421,6 +7431,8 @@ static const struct snd_hda_pin_quirk al
ALC225_STANDARD_PINS,
{0x12, 0xb7a60130},
{0x17, 0x90170110}),
+   SND_HDA_PIN_QUIRK(0x10221457, 0x1028, "Acer", ALC299_FIXUP_PREDATOR_SPK,
+   { 0x21, 0x90170150 }),
{}
 };
 


Re: 4.17.x won't boot due to "x86/boot/compressed/64: Handle 5-level paging boot if kernel is above 4G"

2018-07-03 Thread Bernhard Rosenkraenzer
On Tuesday, July 03, 2018 16:02 CEST, Thomas Gleixner  
wrote: 
> On Tue, 3 Jul 2018, Kirill A. Shutemov wrote:
> > On Tue, Jul 03, 2018 at 01:24:49PM +0200, Gabriel C wrote:
> > > 2018-07-01 23:32 GMT+02:00 Benjamin Gilbert :
> > > > On Sun, Jul 01, 2018 at 05:15:59PM -0400, Benjamin Gilbert wrote:
> > > >> 4.17 kernels built with the CoreOS Container Linux toolchain and 
> > > >> kconfig,
> > > >> up to and including 4.17.3, fail to boot on AMD64 running in (at least)
> > > >> QEMU/KVM.  No messages are shown post-GRUB; the VM instantly reboots.
> > > >> Reverting commit 194a9749c73d ("x86/boot/compressed/64: Handle 5-level
> > > >> paging boot if kernel is above 4G") fixes it.  I've attached our kernel
> > > >> config for reference, and am happy to test patches, provide sample QCOW
> > > >> images, etc.
> > > >
> > > 
> > > Also see https://bugzilla.kernel.org/show_bug.cgi?id=200385 ,
> > > 
> > > 0a1756bd2897951c03c1cb671bdfd40729ac2177 is acting up
> > > too with the same symptoms
> > 
> > I tracked it down to -flto in LDFLAGS. I'll look more into this.
> 
> And what sets -flto in LDFLAGS? I can't find anything in the kernel
> build/Makefiles.

The kernel doesn't use -flto by default. Some people (and distros) set -flto in 
CFLAGS and LDFLAGS manually hoping to get a few extra optimizations.
This never caused any problems before 0a1756bd - would be nice to keep it 
working.

ttyl
bero



Re: 4.17.x won't boot due to "x86/boot/compressed/64: Handle 5-level paging boot if kernel is above 4G"

2018-07-03 Thread Bernhard Rosenkraenzer
On Tuesday, July 03, 2018 16:02 CEST, Thomas Gleixner  
wrote: 
> On Tue, 3 Jul 2018, Kirill A. Shutemov wrote:
> > On Tue, Jul 03, 2018 at 01:24:49PM +0200, Gabriel C wrote:
> > > 2018-07-01 23:32 GMT+02:00 Benjamin Gilbert :
> > > > On Sun, Jul 01, 2018 at 05:15:59PM -0400, Benjamin Gilbert wrote:
> > > >> 4.17 kernels built with the CoreOS Container Linux toolchain and 
> > > >> kconfig,
> > > >> up to and including 4.17.3, fail to boot on AMD64 running in (at least)
> > > >> QEMU/KVM.  No messages are shown post-GRUB; the VM instantly reboots.
> > > >> Reverting commit 194a9749c73d ("x86/boot/compressed/64: Handle 5-level
> > > >> paging boot if kernel is above 4G") fixes it.  I've attached our kernel
> > > >> config for reference, and am happy to test patches, provide sample QCOW
> > > >> images, etc.
> > > >
> > > 
> > > Also see https://bugzilla.kernel.org/show_bug.cgi?id=200385 ,
> > > 
> > > 0a1756bd2897951c03c1cb671bdfd40729ac2177 is acting up
> > > too with the same symptoms
> > 
> > I tracked it down to -flto in LDFLAGS. I'll look more into this.
> 
> And what sets -flto in LDFLAGS? I can't find anything in the kernel
> build/Makefiles.

The kernel doesn't use -flto by default. Some people (and distros) set -flto in 
CFLAGS and LDFLAGS manually hoping to get a few extra optimizations.
This never caused any problems before 0a1756bd - would be nice to keep it 
working.

ttyl
bero



[PATCH] Add delay-init quirk for Corsair K70 LUX keyboards

2017-11-03 Thread Bernhard Rosenkraenzer
Without this patch, K70 LUX keyboards don't work, saying
usb 3-3: unable to read config index 0 descriptor/all
usb 3-3: can't read configurations, error -110
usb usb3-port3: unable to enumerate USB device

Signed-off-by: Bernhard Rosenkraenzer <bernhard.rosenkran...@linaro.org>
---
 drivers/usb/core/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index a6aaf2f193a4..37c418e581fb 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -221,6 +221,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Corsair Strafe RGB */
{ USB_DEVICE(0x1b1c, 0x1b20), .driver_info = USB_QUIRK_DELAY_INIT },
 
+   /* Corsair K70 LUX */
+   { USB_DEVICE(0x1b1c, 0x1b36), .driver_info = USB_QUIRK_DELAY_INIT },
+
/* MIDI keyboard WORLDE MINI */
{ USB_DEVICE(0x1c75, 0x0204), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
-- 
2.15.0



[PATCH] Add delay-init quirk for Corsair K70 LUX keyboards

2017-11-03 Thread Bernhard Rosenkraenzer
Without this patch, K70 LUX keyboards don't work, saying
usb 3-3: unable to read config index 0 descriptor/all
usb 3-3: can't read configurations, error -110
usb usb3-port3: unable to enumerate USB device

Signed-off-by: Bernhard Rosenkraenzer 
---
 drivers/usb/core/quirks.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index a6aaf2f193a4..37c418e581fb 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -221,6 +221,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Corsair Strafe RGB */
{ USB_DEVICE(0x1b1c, 0x1b20), .driver_info = USB_QUIRK_DELAY_INIT },
 
+   /* Corsair K70 LUX */
+   { USB_DEVICE(0x1b1c, 0x1b36), .driver_info = USB_QUIRK_DELAY_INIT },
+
/* MIDI keyboard WORLDE MINI */
{ USB_DEVICE(0x1c75, 0x0204), .driver_info =
USB_QUIRK_CONFIG_INTF_STRINGS },
-- 
2.15.0



[PATCH v3] Perf on Android

2012-11-26 Thread Bernhard Rosenkraenzer
This is another attempt at getting perf ot work on Android - it's rebased to 
3.7-rc6 and cleaned up from the earlier version. Also adds support for Android 
4.2.

Signed-off-by: Bernhard Rosenkraenzer 
---
 tools/perf/Makefile |  17 +-
 tools/perf/builtin-record.c |  33 +++
 tools/perf/builtin-test.c   |   7 +++
 tools/perf/compat-android.h | 106 

 tools/perf/config/feature-tests.mak |  13 +
 tools/perf/util/util.h  |   2 +
 6 files changed, 175 insertions(+), 3 deletions(-)
 create mode 100644 tools/perf/compat-android.h

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 00deed4d..f74ea4b 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -104,7 +104,7 @@ ifdef PARSER_DEBUG
 endif
 
 CFLAGS = -fno-omit-frame-pointer -ggdb3 -funwind-tables -Wall -Wextra -
std=gnu99 $(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) $(EXTRA_WARNINGS) 
$(EXTRA_CFLAGS) $(PARSER_DEBUG_CFLAGS)
-EXTLIBS = -lpthread -lrt -lelf -lm
+EXTLIBS = -lpthread -lelf -lm
 ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -
D_GNU_SOURCE
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
@@ -471,7 +471,14 @@ FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
 ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF)),y)
FLAGS_GLIBC=$(ALL_CFLAGS) $(ALL_LDFLAGS)
ifneq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC)),y)
-   msg := $(error No gnu/libc-version.h found, please install 
glibc-
dev[el]/glibc-static);
+   ifeq ($(call try-cc,$(SOURCE_BIONIC),$(FLAGS_GLIBC)),y)
+   # Found Bionic instead of glibc...
+   # That works too, but needs a bit of special treatment
+   BASIC_CFLAGS += -DANDROID -DHAVE_STRLCPY -include 
$(CURDIR)/compat-
android.h
+   ANDROID := 1
+   else
+   msg := $(error No gnu/libc-version.h found, please 
install glibc-
dev[el]/glibc-static);
+   endif
else
NO_LIBELF := 1
NO_DWARF := 1
@@ -486,6 +493,10 @@ else
 endif # SOURCE_LIBELF
 endif # NO_LIBELF
 
+ifneq ($(ANDROID),1)
+EXTLIBS += -lrt
+endif
+
 ifndef NO_LIBUNWIND
 # for linking with debug library, run like:
 # make DEBUG=1 LIBUNWIND_DIR=/opt/libunwind/
@@ -920,7 +931,7 @@ $(LIB_FILE): $(LIB_OBJS)
 
 # libtraceevent.a
 $(LIBTRACEEVENT):
-   $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) 
libtraceevent.a
+   $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) 
CFLAGS="$(ALL_CFLAGS)" 
O=$(OUTPUT) libtraceevent.a
 
 $(LIBTRACEEVENT)-clean:
$(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) clean
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e9231659..451db23 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -27,10 +27,43 @@
 #include "util/cpumap.h"
 #include "util/thread_map.h"
 
+#include 
 #include 
 #include 
 #include 
 
+#ifdef ANDROID
+/* While stdlib.h has a prototype for it,
+   Bionic doesn't actually implement on_exit() */
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t)(int, void*);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs();
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg) {
+   if(__on_exit_count == ATEXIT_MAX)
+   return ENOMEM;
+   else if(__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs() {
+   for(int i=0; i<__on_exit_count; i++) {
+   __on_exit_funcs[i](__exitcode, __on_exit_args[i]);
+   }
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 484f26c..70a9cd6 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -471,10 +471,17 @@ static int test__basic_mmap(void)
.watermark  = 0,
};
cpu_set_t cpu_set;
+#ifndef ANDROID
const char *syscall_names[] = { "getsid", "getppid", "getpgrp",
"getpgid", };
pid_t (*syscalls[])(void) = { (void *)getsid, getppid, getpgrp,
  (void*)getpgid };
+#else
+   /* No getsid() on Android */
+   const char *syscall_names[] = { "getppid", "getpgrp",
+   "getpgid", };
+   pid_t (*syscalls[])(void) = { getppid, ge

[PATCH v3] Perf on Android

2012-11-26 Thread Bernhard Rosenkraenzer
This is another attempt at getting perf ot work on Android - it's rebased to 
3.7-rc6 and cleaned up from the earlier version. Also adds support for Android 
4.2.

Signed-off-by: Bernhard Rosenkraenzer bernhard.rosenkran...@linaro.org
---
 tools/perf/Makefile |  17 +-
 tools/perf/builtin-record.c |  33 +++
 tools/perf/builtin-test.c   |   7 +++
 tools/perf/compat-android.h | 106 

 tools/perf/config/feature-tests.mak |  13 +
 tools/perf/util/util.h  |   2 +
 6 files changed, 175 insertions(+), 3 deletions(-)
 create mode 100644 tools/perf/compat-android.h

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 00deed4d..f74ea4b 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -104,7 +104,7 @@ ifdef PARSER_DEBUG
 endif
 
 CFLAGS = -fno-omit-frame-pointer -ggdb3 -funwind-tables -Wall -Wextra -
std=gnu99 $(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) $(EXTRA_WARNINGS) 
$(EXTRA_CFLAGS) $(PARSER_DEBUG_CFLAGS)
-EXTLIBS = -lpthread -lrt -lelf -lm
+EXTLIBS = -lpthread -lelf -lm
 ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -
D_GNU_SOURCE
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
@@ -471,7 +471,14 @@ FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
 ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF)),y)
FLAGS_GLIBC=$(ALL_CFLAGS) $(ALL_LDFLAGS)
ifneq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC)),y)
-   msg := $(error No gnu/libc-version.h found, please install 
glibc-
dev[el]/glibc-static);
+   ifeq ($(call try-cc,$(SOURCE_BIONIC),$(FLAGS_GLIBC)),y)
+   # Found Bionic instead of glibc...
+   # That works too, but needs a bit of special treatment
+   BASIC_CFLAGS += -DANDROID -DHAVE_STRLCPY -include 
$(CURDIR)/compat-
android.h
+   ANDROID := 1
+   else
+   msg := $(error No gnu/libc-version.h found, please 
install glibc-
dev[el]/glibc-static);
+   endif
else
NO_LIBELF := 1
NO_DWARF := 1
@@ -486,6 +493,10 @@ else
 endif # SOURCE_LIBELF
 endif # NO_LIBELF
 
+ifneq ($(ANDROID),1)
+EXTLIBS += -lrt
+endif
+
 ifndef NO_LIBUNWIND
 # for linking with debug library, run like:
 # make DEBUG=1 LIBUNWIND_DIR=/opt/libunwind/
@@ -920,7 +931,7 @@ $(LIB_FILE): $(LIB_OBJS)
 
 # libtraceevent.a
 $(LIBTRACEEVENT):
-   $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) 
libtraceevent.a
+   $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) 
CFLAGS=$(ALL_CFLAGS) 
O=$(OUTPUT) libtraceevent.a
 
 $(LIBTRACEEVENT)-clean:
$(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) clean
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e9231659..451db23 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -27,10 +27,43 @@
 #include util/cpumap.h
 #include util/thread_map.h
 
+#include stdlib.h
 #include unistd.h
 #include sched.h
 #include sys/mman.h
 
+#ifdef ANDROID
+/* While stdlib.h has a prototype for it,
+   Bionic doesn't actually implement on_exit() */
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t)(int, void*);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs();
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg) {
+   if(__on_exit_count == ATEXIT_MAX)
+   return ENOMEM;
+   else if(__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs() {
+   for(int i=0; i__on_exit_count; i++) {
+   __on_exit_funcs[i](__exitcode, __on_exit_args[i]);
+   }
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 484f26c..70a9cd6 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -471,10 +471,17 @@ static int test__basic_mmap(void)
.watermark  = 0,
};
cpu_set_t cpu_set;
+#ifndef ANDROID
const char *syscall_names[] = { getsid, getppid, getpgrp,
getpgid, };
pid_t (*syscalls[])(void) = { (void *)getsid, getppid, getpgrp,
  (void*)getpgid };
+#else
+   /* No getsid() on Android */
+   const char *syscall_names[] = { getppid, getpgrp,
+   getpgid, };
+   pid_t (*syscalls[])(void) = { getppid, getpgrp, (void*)getpgid };
+#endif
 #define nsyscalls

[tip:perf/core] perf tools: Add on_exit implementation

2012-10-09 Thread tip-bot for Bernhard Rosenkraenzer
Commit-ID:  78da39faf7c903bb6e3c20a726fde1bf98d10af8
Gitweb: http://git.kernel.org/tip/78da39faf7c903bb6e3c20a726fde1bf98d10af8
Author: Bernhard Rosenkraenzer 
AuthorDate: Mon, 8 Oct 2012 09:43:26 +0300
Committer:  Arnaldo Carvalho de Melo 
CommitDate: Mon, 8 Oct 2012 17:38:25 -0300

perf tools: Add on_exit implementation

on_exit() is only available in new versions of glibc.
It is not implemented in Bionic and will lead to linking errors when
compiling for Android.

Implement a wrapper for on_exit using atexit.

The implementation for on_exit is the one sent by Bernhard Rosenkraenzer in
https://lkml.org/lkml/2012/8/23/316. The configuration part from the Makefile
is different than the one from the original patch.

Signed-off-by: Bernhard Rosenkraenzer 
Signed-off-by: Irina Tirdea 
Cc: David Ahern 
Cc: Ingo Molnar 
Cc: Irina Tirdea 
Cc: Jiri Olsa 
Cc: Namhyung Kim 
Cc: Paul Mackerras 
Cc: Pekka Enberg 
Cc: Peter Zijlstra 
Cc: Steven Rostedt 
Link: 
http://lkml.kernel.org/r/1349678613-7045-2-git-send-email-irina.tir...@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo 
---
 tools/perf/Makefile |6 ++
 tools/perf/builtin-record.c |   32 
 tools/perf/config/feature-tests.mak |   11 ++-
 3 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index d80a333..a7d8745 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -753,6 +753,12 @@ ifndef NO_STRLCPY
endif
 endif
 
+ifndef NO_ON_EXIT
+   ifeq ($(call try-cc,$(SOURCE_ON_EXIT),),y)
+   BASIC_CFLAGS += -DHAVE_ON_EXIT
+   endif
+endif
+
 ifndef NO_BACKTRACE
ifeq ($(call try-cc,$(SOURCE_BACKTRACE),),y)
BASIC_CFLAGS += -DBACKTRACE_SUPPORT
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e9231659..73b5d7f 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -31,6 +31,38 @@
 #include 
 #include 
 
+#ifndef HAVE_ON_EXIT
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t) (int, void *);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs(void);
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg)
+{
+   if (__on_exit_count == ATEXIT_MAX)
+   return -ENOMEM;
+   else if (__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs(void)
+{
+   int i;
+   for (i = 0; i < __on_exit_count; i++)
+   __on_exit_funcs[i] (__exitcode, __on_exit_args[i]);
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/config/feature-tests.mak 
b/tools/perf/config/feature-tests.mak
index 4add41b..eaeb0fd 100644
--- a/tools/perf/config/feature-tests.mak
+++ b/tools/perf/config/feature-tests.mak
@@ -203,4 +203,13 @@ int main(void)
return audit_open();
 }
 endef
-endif
\ No newline at end of file
+endif
+
+define SOURCE_ON_EXIT
+#include 
+
+int main(void)
+{
+   return on_exit(NULL, NULL);
+}
+endef
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[tip:perf/core] perf tools: Add on_exit implementation

2012-10-09 Thread tip-bot for Bernhard Rosenkraenzer
Commit-ID:  78da39faf7c903bb6e3c20a726fde1bf98d10af8
Gitweb: http://git.kernel.org/tip/78da39faf7c903bb6e3c20a726fde1bf98d10af8
Author: Bernhard Rosenkraenzer bernhard.rosenkran...@linaro.org
AuthorDate: Mon, 8 Oct 2012 09:43:26 +0300
Committer:  Arnaldo Carvalho de Melo a...@redhat.com
CommitDate: Mon, 8 Oct 2012 17:38:25 -0300

perf tools: Add on_exit implementation

on_exit() is only available in new versions of glibc.
It is not implemented in Bionic and will lead to linking errors when
compiling for Android.

Implement a wrapper for on_exit using atexit.

The implementation for on_exit is the one sent by Bernhard Rosenkraenzer in
https://lkml.org/lkml/2012/8/23/316. The configuration part from the Makefile
is different than the one from the original patch.

Signed-off-by: Bernhard Rosenkraenzer bernhard.rosenkran...@linaro.org
Signed-off-by: Irina Tirdea irina.tir...@intel.com
Cc: David Ahern dsah...@gmail.com
Cc: Ingo Molnar mi...@kernel.org
Cc: Irina Tirdea irina.tir...@intel.com
Cc: Jiri Olsa jo...@redhat.com
Cc: Namhyung Kim namhy...@kernel.org
Cc: Paul Mackerras pau...@samba.org
Cc: Pekka Enberg penb...@kernel.org
Cc: Peter Zijlstra a.p.zijls...@chello.nl
Cc: Steven Rostedt rost...@goodmis.org
Link: 
http://lkml.kernel.org/r/1349678613-7045-2-git-send-email-irina.tir...@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
---
 tools/perf/Makefile |6 ++
 tools/perf/builtin-record.c |   32 
 tools/perf/config/feature-tests.mak |   11 ++-
 3 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index d80a333..a7d8745 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -753,6 +753,12 @@ ifndef NO_STRLCPY
endif
 endif
 
+ifndef NO_ON_EXIT
+   ifeq ($(call try-cc,$(SOURCE_ON_EXIT),),y)
+   BASIC_CFLAGS += -DHAVE_ON_EXIT
+   endif
+endif
+
 ifndef NO_BACKTRACE
ifeq ($(call try-cc,$(SOURCE_BACKTRACE),),y)
BASIC_CFLAGS += -DBACKTRACE_SUPPORT
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e9231659..73b5d7f 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -31,6 +31,38 @@
 #include sched.h
 #include sys/mman.h
 
+#ifndef HAVE_ON_EXIT
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t) (int, void *);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs(void);
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg)
+{
+   if (__on_exit_count == ATEXIT_MAX)
+   return -ENOMEM;
+   else if (__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs(void)
+{
+   int i;
+   for (i = 0; i  __on_exit_count; i++)
+   __on_exit_funcs[i] (__exitcode, __on_exit_args[i]);
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/config/feature-tests.mak 
b/tools/perf/config/feature-tests.mak
index 4add41b..eaeb0fd 100644
--- a/tools/perf/config/feature-tests.mak
+++ b/tools/perf/config/feature-tests.mak
@@ -203,4 +203,13 @@ int main(void)
return audit_open();
 }
 endef
-endif
\ No newline at end of file
+endif
+
+define SOURCE_ON_EXIT
+#include stdio.h
+
+int main(void)
+{
+   return on_exit(NULL, NULL);
+}
+endef
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCHv2 1/1] perf: Port to Android

2012-08-23 Thread Bernhard Rosenkraenzer
commit 4dc79eed16e3bb03b3cf92fcc6127e107e7537aa
Author: Bernhard Rosenkraenzer 
Date:   Sat Jun 23 06:18:05 2012 +0200

perf: Port to Android

Adapt perf to deal with some missing functions in Bionic etc.

Change-Id: I0cda2aad3edba26e1be3aebc9475a229ea9e8356
Signed-off-by: Bernhard Rosenkraenzer 

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 92271d3..d15cdae 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -117,7 +117,7 @@ ifndef PERF_DEBUG
 endif
 
 CFLAGS = -fno-omit-frame-pointer -ggdb3 -Wall -Wextra -std=gnu99 
$(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) 
$(EXTRA_CFLAGS)
-EXTLIBS = -lpthread -lrt -lelf -lm
+EXTLIBS = -lpthread -lelf -lm
 ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -
D_GNU_SOURCE
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
@@ -474,12 +474,23 @@ FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
 ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF)),y)
FLAGS_GLIBC=$(ALL_CFLAGS) $(ALL_LDFLAGS)
ifneq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC)),y)
-   msg := $(error No gnu/libc-version.h found, please install 
glibc-
dev[el]/glibc-static);
+   ifeq ($(call try-cc,$(SOURCE_BIONIC),$(FLAGS_GLIBC)),y)
+   # Found Bionic instead of glibc...
+   # That works too, but needs a bit of special treatment
+   BASIC_CFLAGS += -DANDROID -include compat-android.h
+   ANDROID := 1
+   else
+   msg := $(error No gnu/libc-version.h found, please 
install glibc-
dev[el]/glibc-static);
+   endif
else
msg := $(error No libelf.h/libelf found, please install libelf-
dev/elfutils-libelf-devel);
endif
 endif
 
+ifneq ($(ANDROID),1)
+EXTLIBS += -lrt
+endif
+
 ifneq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
BASIC_CFLAGS += -DLIBELF_NO_MMAP
 endif
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index be4e1ee..3a1d0cc 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -27,10 +27,43 @@
 #include "util/cpumap.h"
 #include "util/thread_map.h"
 
+#include 
 #include 
 #include 
 #include 
 
+#ifdef ANDROID
+/* While stdlib.h has a prototype for it,
+   Bionic doesn't actually implement on_exit() */
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t)(int, void*);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs();
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg) {
+   if(__on_exit_count == ATEXIT_MAX)
+   return ENOMEM;
+   else if(__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs() {
+   for(int i=0; i<__on_exit_count; i++) {
+   __on_exit_funcs[i](__exitcode, __on_exit_args[i]);
+   }
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 223ffdc..6dbd2ee 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -469,10 +469,17 @@ static int test__basic_mmap(void)
.watermark  = 0,
};
cpu_set_t cpu_set;
+#ifndef ANDROID
const char *syscall_names[] = { "getsid", "getppid", "getpgrp",
"getpgid", };
pid_t (*syscalls[])(void) = { (void *)getsid, getppid, getpgrp,
  (void*)getpgid };
+#else
+   /* No getsid() on Android */
+   const char *syscall_names[] = { "getppid", "getpgrp",
+   "getpgid", };
+   pid_t (*syscalls[])(void) = { getppid, getpgrp, (void*)getpgid };
+#endif
 #define nsyscalls ARRAY_SIZE(syscall_names)
int ids[nsyscalls];
unsigned int nr_events[nsyscalls],
diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h
index b382bd5..1521a275 100644
--- a/tools/perf/builtin.h
+++ b/tools/perf/builtin.h
@@ -1,6 +1,7 @@
 #ifndef BUILTIN_H
 #define BUILTIN_H
 
+#include "compat-android.h"
 #include "util/util.h"
 #include "util/strbuf.h"
 
diff --git a/tools/perf/compat-android.h b/tools/perf/compat-android.h
new file mode 100644
index 000..9a33f49
--- /dev/null
+++ b/tools/perf/compat-android.h
@@ -0,0 +1,96 @@
+/* Android compatibility header
+ * Provides missing bits in Bionic on Android, ignored
+ * on regular Linux.
+ *
+ * W

[PATCHv2 1/1] perf: Port to Android

2012-08-23 Thread Bernhard Rosenkraenzer
commit 4dc79eed16e3bb03b3cf92fcc6127e107e7537aa
Author: Bernhard Rosenkraenzer bernhard.rosenkran...@linaro.org
Date:   Sat Jun 23 06:18:05 2012 +0200

perf: Port to Android

Adapt perf to deal with some missing functions in Bionic etc.

Change-Id: I0cda2aad3edba26e1be3aebc9475a229ea9e8356
Signed-off-by: Bernhard Rosenkraenzer bernhard.rosenkran...@linaro.org

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 92271d3..d15cdae 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -117,7 +117,7 @@ ifndef PERF_DEBUG
 endif
 
 CFLAGS = -fno-omit-frame-pointer -ggdb3 -Wall -Wextra -std=gnu99 
$(CFLAGS_WERROR) $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) 
$(EXTRA_CFLAGS)
-EXTLIBS = -lpthread -lrt -lelf -lm
+EXTLIBS = -lpthread -lelf -lm
 ALL_CFLAGS = $(CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -
D_GNU_SOURCE
 ALL_LDFLAGS = $(LDFLAGS)
 STRIP ?= strip
@@ -474,12 +474,23 @@ FLAGS_LIBELF=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS)
 ifneq ($(call try-cc,$(SOURCE_LIBELF),$(FLAGS_LIBELF)),y)
FLAGS_GLIBC=$(ALL_CFLAGS) $(ALL_LDFLAGS)
ifneq ($(call try-cc,$(SOURCE_GLIBC),$(FLAGS_GLIBC)),y)
-   msg := $(error No gnu/libc-version.h found, please install 
glibc-
dev[el]/glibc-static);
+   ifeq ($(call try-cc,$(SOURCE_BIONIC),$(FLAGS_GLIBC)),y)
+   # Found Bionic instead of glibc...
+   # That works too, but needs a bit of special treatment
+   BASIC_CFLAGS += -DANDROID -include compat-android.h
+   ANDROID := 1
+   else
+   msg := $(error No gnu/libc-version.h found, please 
install glibc-
dev[el]/glibc-static);
+   endif
else
msg := $(error No libelf.h/libelf found, please install libelf-
dev/elfutils-libelf-devel);
endif
 endif
 
+ifneq ($(ANDROID),1)
+EXTLIBS += -lrt
+endif
+
 ifneq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_COMMON)),y)
BASIC_CFLAGS += -DLIBELF_NO_MMAP
 endif
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index be4e1ee..3a1d0cc 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -27,10 +27,43 @@
 #include util/cpumap.h
 #include util/thread_map.h
 
+#include stdlib.h
 #include unistd.h
 #include sched.h
 #include sys/mman.h
 
+#ifdef ANDROID
+/* While stdlib.h has a prototype for it,
+   Bionic doesn't actually implement on_exit() */
+#ifndef ATEXIT_MAX
+#define ATEXIT_MAX 32
+#endif
+static int __on_exit_count = 0;
+typedef void (*on_exit_func_t)(int, void*);
+static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
+static void *__on_exit_args[ATEXIT_MAX];
+static int __exitcode = 0;
+static void __handle_on_exit_funcs();
+static int on_exit(on_exit_func_t function, void *arg);
+#define exit(x) (exit)(__exitcode = (x))
+
+static int on_exit(on_exit_func_t function, void *arg) {
+   if(__on_exit_count == ATEXIT_MAX)
+   return ENOMEM;
+   else if(__on_exit_count == 0)
+   atexit(__handle_on_exit_funcs);
+   __on_exit_funcs[__on_exit_count] = function;
+   __on_exit_args[__on_exit_count++] = arg;
+   return 0;
+}
+
+static void __handle_on_exit_funcs() {
+   for(int i=0; i__on_exit_count; i++) {
+   __on_exit_funcs[i](__exitcode, __on_exit_args[i]);
+   }
+}
+#endif
+
 enum write_mode_t {
WRITE_FORCE,
WRITE_APPEND
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 223ffdc..6dbd2ee 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -469,10 +469,17 @@ static int test__basic_mmap(void)
.watermark  = 0,
};
cpu_set_t cpu_set;
+#ifndef ANDROID
const char *syscall_names[] = { getsid, getppid, getpgrp,
getpgid, };
pid_t (*syscalls[])(void) = { (void *)getsid, getppid, getpgrp,
  (void*)getpgid };
+#else
+   /* No getsid() on Android */
+   const char *syscall_names[] = { getppid, getpgrp,
+   getpgid, };
+   pid_t (*syscalls[])(void) = { getppid, getpgrp, (void*)getpgid };
+#endif
 #define nsyscalls ARRAY_SIZE(syscall_names)
int ids[nsyscalls];
unsigned int nr_events[nsyscalls],
diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h
index b382bd5..1521a275 100644
--- a/tools/perf/builtin.h
+++ b/tools/perf/builtin.h
@@ -1,6 +1,7 @@
 #ifndef BUILTIN_H
 #define BUILTIN_H
 
+#include compat-android.h
 #include util/util.h
 #include util/strbuf.h
 
diff --git a/tools/perf/compat-android.h b/tools/perf/compat-android.h
new file mode 100644
index 000..9a33f49
--- /dev/null
+++ b/tools/perf/compat-android.h
@@ -0,0 +1,96 @@
+/* Android compatibility header
+ * Provides missing bits in Bionic on Android, ignored
+ * on regular Linux.
+ *
+ * Written by bernhard.rosenkran...@linaro.org

[PATCH] 2.6.23-mm1 gdth doesn't compile with CONFIG_ISA && !CONFIG_EISA

2007-10-13 Thread Bernhard Rosenkraenzer
gdth_irq_tab is defined only in #ifdef CONFIG_EISA, but used in 
gdth_init_isa()

Signed-off-by: Bernhard Rosenkraenzer <[EMAIL PROTECTED]>
--- linux-2.6.23/drivers/scsi/gdth.c.ark2007-10-13 20:51:32.0 
+0200
+++ linux-2.6.23/drivers/scsi/gdth.c2007-10-13 20:52:05.0 +0200
@@ -288,7 +288,7 @@ static struct timer_list gdth_timer;
 #ifdef CONFIG_ISA
 static unchar   gdth_drq_tab[4] = {5,6,7,7};/* DRQ table */
 #endif
-#ifdef CONFIG_EISA
+#if defined(CONFIG_EISA) || defined(CONFIG_ISA)
 static unchar   gdth_irq_tab[6] = {0,10,11,12,14,0};/* IRQ table */
 #endif
 static unchar   gdth_polling;   /* polling if TRUE */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] 2.6.23-mm1 gdth doesn't compile with CONFIG_ISA !CONFIG_EISA

2007-10-13 Thread Bernhard Rosenkraenzer
gdth_irq_tab is defined only in #ifdef CONFIG_EISA, but used in 
gdth_init_isa()

Signed-off-by: Bernhard Rosenkraenzer [EMAIL PROTECTED]
--- linux-2.6.23/drivers/scsi/gdth.c.ark2007-10-13 20:51:32.0 
+0200
+++ linux-2.6.23/drivers/scsi/gdth.c2007-10-13 20:52:05.0 +0200
@@ -288,7 +288,7 @@ static struct timer_list gdth_timer;
 #ifdef CONFIG_ISA
 static unchar   gdth_drq_tab[4] = {5,6,7,7};/* DRQ table */
 #endif
-#ifdef CONFIG_EISA
+#if defined(CONFIG_EISA) || defined(CONFIG_ISA)
 static unchar   gdth_irq_tab[6] = {0,10,11,12,14,0};/* IRQ table */
 #endif
 static unchar   gdth_polling;   /* polling if TRUE */
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PARTIAL PATCH] snd-hda-intel on Medion WIM2160

2007-09-19 Thread Bernhard Rosenkraenzer
On Thursday 13 September 2007, Takashi Iwai wrote:
> > The patch below fixes it, but unfortunately, Medion MD2 uses the same PCI
> > (and subvendor/subdevice) ID -- so the patch quite likely breaks Medion
> > MD2 support.
>
> In that case, try to reset board_config after
> snd_hda_check_board_config() but before setup_preset().  See
> patch_alc885() for example (appeariny in the latest ALSA tree, also in
> mm tree).

Will do...

> Otherwise it looks OK to me.  But, what is the primary difference in
> the setup between MD2 and WIM2160?

I don't know -- I made it work by trial and error (I don't have access to any 
hardware specs or the likes). By some more trial and error, I could minimize 
the patch some more - it's down to editing the init_verbs and mixers.
In the mixers, this one seems to be the key:
HDA_BIND_MUTE("Master Playback Switch", 0x0c, 2, HDA_INPUT)

Maybe we can get it to work with both MD2 and WIM2160 by using the MD2 mixers 
with this one added.

I'm not familiar enough with sound drivers in general to fiddle with the verbs 
and be reasonably sure I'm not breaking the MD2.
--- linux-2.6.22/sound/pci/hda/patch_realtek.c.wim2160snd~	2007-09-14 15:51:28.0 +0200
+++ linux-2.6.22/sound/pci/hda/patch_realtek.c	2007-09-14 15:53:21.0 +0200
@@ -169,6 +169,7 @@
 	ALC883_ACER,
 	ALC883_MEDION,
 	ALC883_MEDION_MD2,	
+	ALC883_MEDION_WIM2160,
 	ALC883_LAPTOP_EAPD,
 	ALC883_LENOVO_101E_2ch,
 	ALC883_LENOVO_NB0763,
@@ -6235,6 +6236,32 @@
 	{ } /* end */
 };
 
+static struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = {
+	HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
+	HDA_BIND_MUTE("Master Playback Switch", 0x0c, 2, HDA_INPUT),
+	HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT),
+	HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT),
+	HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT),
+	HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
+	HDA_CODEC_VOLUME("iMic Playback Volume", 0x0b, 0x1, HDA_INPUT),
+	HDA_CODEC_MUTE("iMic Playback Switch", 0x0b, 0x1, HDA_INPUT),
+	HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
+	HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x09, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x09, 0x0, HDA_INPUT),
+	{
+		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+		/* .name = "Capture Source", */
+		.name = "Input Source",
+		.count = 2,
+		.info = alc883_mux_enum_info,
+		.get = alc883_mux_enum_get,
+		.put = alc883_mux_enum_put,
+	},
+	{ } /* end */
+};	
+
 static struct snd_kcontrol_new alc883_chmode_mixer[] = {
 	{
 		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -6640,6 +6667,7 @@
 	[ALC883_ACER]		= "acer",
 	[ALC883_MEDION]		= "medion",
 	[ALC883_MEDION_MD2]	= "medion-md2",
+	[ALC883_MEDION_WIM2160]	= "medion-wim2160",
 	[ALC883_LAPTOP_EAPD]	= "laptop-eapd",
 	[ALC883_LENOVO_101E_2ch] = "lenovo-101e",
 	[ALC883_LENOVO_NB0763]	= "lenovo-nb0763",
@@ -6684,7 +6712,8 @@
 	SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC888_6ST_HP),
 	SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP),
 	SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP),
-	SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
+	//SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
+	SND_PCI_QUIRK(0x17c0, 0x4071, "Medion WIM2160", ALC883_MEDION_WIM2160),
 	{}
 };
 
@@ -6814,6 +6843,20 @@
 		.unsol_event = alc883_medion_md2_unsol_event,
 		.init_hook = alc883_medion_md2_automute,
 	},	
+	[ALC883_MEDION_WIM2160] = {
+		.mixers = { alc883_medion_wim2160_mixer },
+		.init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs},
+		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
+		.dac_nids = alc883_dac_nids,
+		.dig_out_nid = ALC883_DIGOUT_NID,
+		.num_adc_nids = ARRAY_SIZE(alc883_adc_nids),
+		.adc_nids = alc883_adc_nids,
+		.num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
+		.channel_mode = alc883_3ST_2ch_modes,
+		.input_mux = _capture_source,
+		.unsol_event = alc883_medion_md2_unsol_event,
+		.init_hook = alc883_medion_md2_automute,
+	},
 	[ALC883_LAPTOP_EAPD] = {
 		.mixers = { alc883_base_mixer,
 			alc883_chmode_mixer },


Re: [alsa-devel] [PARTIAL PATCH] snd-hda-intel on Medion WIM2160

2007-09-19 Thread Bernhard Rosenkraenzer
On Thursday 13 September 2007, Takashi Iwai wrote:
  The patch below fixes it, but unfortunately, Medion MD2 uses the same PCI
  (and subvendor/subdevice) ID -- so the patch quite likely breaks Medion
  MD2 support.

 In that case, try to reset board_config after
 snd_hda_check_board_config() but before setup_preset().  See
 patch_alc885() for example (appeariny in the latest ALSA tree, also in
 mm tree).

Will do...

 Otherwise it looks OK to me.  But, what is the primary difference in
 the setup between MD2 and WIM2160?

I don't know -- I made it work by trial and error (I don't have access to any 
hardware specs or the likes). By some more trial and error, I could minimize 
the patch some more - it's down to editing the init_verbs and mixers.
In the mixers, this one seems to be the key:
HDA_BIND_MUTE(Master Playback Switch, 0x0c, 2, HDA_INPUT)

Maybe we can get it to work with both MD2 and WIM2160 by using the MD2 mixers 
with this one added.

I'm not familiar enough with sound drivers in general to fiddle with the verbs 
and be reasonably sure I'm not breaking the MD2.
--- linux-2.6.22/sound/pci/hda/patch_realtek.c.wim2160snd~	2007-09-14 15:51:28.0 +0200
+++ linux-2.6.22/sound/pci/hda/patch_realtek.c	2007-09-14 15:53:21.0 +0200
@@ -169,6 +169,7 @@
 	ALC883_ACER,
 	ALC883_MEDION,
 	ALC883_MEDION_MD2,	
+	ALC883_MEDION_WIM2160,
 	ALC883_LAPTOP_EAPD,
 	ALC883_LENOVO_101E_2ch,
 	ALC883_LENOVO_NB0763,
@@ -6235,6 +6236,32 @@
 	{ } /* end */
 };
 
+static struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = {
+	HDA_CODEC_VOLUME(Master Playback Volume, 0x0c, 0x0, HDA_OUTPUT),
+	HDA_BIND_MUTE(Master Playback Switch, 0x0c, 2, HDA_INPUT),
+	HDA_CODEC_MUTE(Headphone Playback Switch, 0x14, 0x0, HDA_OUTPUT),
+	HDA_CODEC_VOLUME(CD Playback Volume, 0x0b, 0x04, HDA_INPUT),
+	HDA_CODEC_MUTE(CD Playback Switch, 0x0b, 0x04, HDA_INPUT),
+	HDA_CODEC_VOLUME(Mic Playback Volume, 0x0b, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE(Mic Playback Switch, 0x0b, 0x0, HDA_INPUT),
+	HDA_CODEC_VOLUME(iMic Playback Volume, 0x0b, 0x1, HDA_INPUT),
+	HDA_CODEC_MUTE(iMic Playback Switch, 0x0b, 0x1, HDA_INPUT),
+	HDA_CODEC_VOLUME(Capture Volume, 0x08, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE(Capture Switch, 0x08, 0x0, HDA_INPUT),
+	HDA_CODEC_VOLUME_IDX(Capture Volume, 1, 0x09, 0x0, HDA_INPUT),
+	HDA_CODEC_MUTE_IDX(Capture Switch, 1, 0x09, 0x0, HDA_INPUT),
+	{
+		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+		/* .name = Capture Source, */
+		.name = Input Source,
+		.count = 2,
+		.info = alc883_mux_enum_info,
+		.get = alc883_mux_enum_get,
+		.put = alc883_mux_enum_put,
+	},
+	{ } /* end */
+};	
+
 static struct snd_kcontrol_new alc883_chmode_mixer[] = {
 	{
 		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -6640,6 +6667,7 @@
 	[ALC883_ACER]		= acer,
 	[ALC883_MEDION]		= medion,
 	[ALC883_MEDION_MD2]	= medion-md2,
+	[ALC883_MEDION_WIM2160]	= medion-wim2160,
 	[ALC883_LAPTOP_EAPD]	= laptop-eapd,
 	[ALC883_LENOVO_101E_2ch] = lenovo-101e,
 	[ALC883_LENOVO_NB0763]	= lenovo-nb0763,
@@ -6684,7 +6712,8 @@
 	SND_PCI_QUIRK(0x103c, 0x2a61, HP Nettle, ALC888_6ST_HP),
 	SND_PCI_QUIRK(0x103c, 0x2a60, HP Lucknow, ALC888_3ST_HP),
 	SND_PCI_QUIRK(0x103c, 0x2a4f, HP Samba, ALC888_3ST_HP),
-	SND_PCI_QUIRK(0x17c0, 0x4071, MEDION MD2, ALC883_MEDION_MD2),
+	//SND_PCI_QUIRK(0x17c0, 0x4071, MEDION MD2, ALC883_MEDION_MD2),
+	SND_PCI_QUIRK(0x17c0, 0x4071, Medion WIM2160, ALC883_MEDION_WIM2160),
 	{}
 };
 
@@ -6814,6 +6843,20 @@
 		.unsol_event = alc883_medion_md2_unsol_event,
 		.init_hook = alc883_medion_md2_automute,
 	},	
+	[ALC883_MEDION_WIM2160] = {
+		.mixers = { alc883_medion_wim2160_mixer },
+		.init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs},
+		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
+		.dac_nids = alc883_dac_nids,
+		.dig_out_nid = ALC883_DIGOUT_NID,
+		.num_adc_nids = ARRAY_SIZE(alc883_adc_nids),
+		.adc_nids = alc883_adc_nids,
+		.num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
+		.channel_mode = alc883_3ST_2ch_modes,
+		.input_mux = alc883_capture_source,
+		.unsol_event = alc883_medion_md2_unsol_event,
+		.init_hook = alc883_medion_md2_automute,
+	},
 	[ALC883_LAPTOP_EAPD] = {
 		.mixers = { alc883_base_mixer,
 			alc883_chmode_mixer },


[PATCH] Make wistron-btns recognize special keys on Medion WIM2160 notebooks

2007-09-14 Thread Bernhard Rosenkraenzer
The patch below adds support for Medion WIM2160 notebooks to the wistron-btns 
driver.

Signed-off-by: Bernhard Rosenkraenzer <[EMAIL PROTECTED]>

--- linux-2.6.22/drivers/input/misc/wistron_btns.c.ark  2007-09-07 
22:47:49.0 +
+++ linux-2.6.22/drivers/input/misc/wistron_btns.c  2007-09-07 
22:54:19.0 +
@@ -536,6 +536,13 @@
{ KE_END, FE_MAIL_LED | FE_WIFI_LED | FE_UNTESTED }
 };
 
+static struct key_entry keymap_medion_wim2160[] __initdata = {
+   { KE_WIFI, 0x30 },
+   { KE_KEY, 0x11, {KEY_PROG1} },
+   { KE_KEY, 0x12, {KEY_PROG2} },
+   { KE_END, 0 }
+};
+
 static struct key_entry keymap_wistron_md2900[] __initdata = {
{ KE_KEY, 0x01, {KEY_HELP} },
{ KE_KEY, 0x02, {KEY_CONFIG} },
@@ -917,6 +924,15 @@
},
.driver_data = keymap_fs_amilo_d88x0
},
+   {
+   .callback = dmi_matched,
+   .ident = "Medion WIM2160",
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
+   DMI_MATCH(DMI_PRODUCT_NAME, "WIM2160"),
+   },
+   .driver_data = keymap_medion_wim2160
+   },
{ NULL, }
 };
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Make wistron-btns recognize special keys on Medion WIM2160 notebooks

2007-09-14 Thread Bernhard Rosenkraenzer
The patch below adds support for Medion WIM2160 notebooks to the wistron-btns 
driver.

Signed-off-by: Bernhard Rosenkraenzer [EMAIL PROTECTED]

--- linux-2.6.22/drivers/input/misc/wistron_btns.c.ark  2007-09-07 
22:47:49.0 +
+++ linux-2.6.22/drivers/input/misc/wistron_btns.c  2007-09-07 
22:54:19.0 +
@@ -536,6 +536,13 @@
{ KE_END, FE_MAIL_LED | FE_WIFI_LED | FE_UNTESTED }
 };
 
+static struct key_entry keymap_medion_wim2160[] __initdata = {
+   { KE_WIFI, 0x30 },
+   { KE_KEY, 0x11, {KEY_PROG1} },
+   { KE_KEY, 0x12, {KEY_PROG2} },
+   { KE_END, 0 }
+};
+
 static struct key_entry keymap_wistron_md2900[] __initdata = {
{ KE_KEY, 0x01, {KEY_HELP} },
{ KE_KEY, 0x02, {KEY_CONFIG} },
@@ -917,6 +924,15 @@
},
.driver_data = keymap_fs_amilo_d88x0
},
+   {
+   .callback = dmi_matched,
+   .ident = Medion WIM2160,
+   .matches = {
+   DMI_MATCH(DMI_SYS_VENDOR, MEDION),
+   DMI_MATCH(DMI_PRODUCT_NAME, WIM2160),
+   },
+   .driver_data = keymap_medion_wim2160
+   },
{ NULL, }
 };
 
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PARTIAL PATCH] snd-hda-intel on Medion WIM2160

2007-09-11 Thread Bernhard Rosenkraenzer
Hi,
On Medion WIM2160 notebooks (soundchip PCI ID 8086:27d8/17c0:4071), 
snd-hda-intel loads and everything acts like it's working, but there's no 
sound. The master volume is muted and there's no way to unmute it.

The patch below fixes it, but unfortunately, Medion MD2 uses the same PCI 
(and subvendor/subdevice) ID -- so the patch quite likely breaks Medion MD2 
support.

WIM2160's soundchip has revision ID 02 - if MD2 uses something else, maybe 
that can be used to identify them and do the right thing. (I don't have an 
MD2...).

ttyl
bero

--- linux-2.6.22/sound/pci/hda/patch_realtek.c.wim2160snd~  2007-07-09 
01:32:17.0 +0200
+++ linux-2.6.22/sound/pci/hda/patch_realtek.c  2007-09-09 20:28:55.0 
+0200
@@ -159,6 +159,7 @@
ALC883_ACER,
ALC883_MEDION,
ALC883_MEDION_MD2,  
+   ALC883_MEDION_WIM2160,
ALC883_LAPTOP_EAPD,
ALC883_LENOVO_101E_2ch,
ALC883_LENOVO_NB0763,
@@ -5995,6 +5996,32 @@
{ } /* end */
 }; 
 
+static struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = {
+   HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
+   HDA_BIND_MUTE("Master Playback Switch", 0x0c, 2, HDA_INPUT),
+   HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT),
+   HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT),
+   HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT),
+   HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
+   HDA_CODEC_VOLUME("iMic Playback Volume", 0x0b, 0x1, HDA_INPUT),
+   HDA_CODEC_MUTE("iMic Playback Switch", 0x0b, 0x1, HDA_INPUT),
+   HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
+   HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x09, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE_IDX("Capture Switch", 1, 0x09, 0x0, HDA_INPUT),
+   {
+   .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+   /* .name = "Capture Source", */
+   .name = "Input Source",
+   .count = 2,
+   .info = alc883_mux_enum_info,
+   .get = alc883_mux_enum_get,
+   .put = alc883_mux_enum_put,
+   },
+   { } /* end */
+}; 
+
 static struct snd_kcontrol_new alc883_chmode_mixer[] = {
{
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -6364,6 +6391,7 @@
[ALC883_ACER]   = "acer",
[ALC883_MEDION] = "medion",
[ALC883_MEDION_MD2] = "medion-md2",
+   [ALC883_MEDION_WIM2160] = "medion-wim2160",
[ALC883_LAPTOP_EAPD]= "laptop-eapd",
[ALC883_LENOVO_101E_2ch] = "lenovo-101e",
[ALC883_LENOVO_NB0763]  = "lenovo-nb0763",
@@ -6401,6 +6429,7 @@
SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763),
-   SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
+   //SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
+   SND_PCI_QUIRK(0x17c0, 0x4071, "Medion WIM2160", ALC883_MEDION_WIM2160),
{}
 };
 
@@ -6530,6 +6559,19 @@
.unsol_event = alc883_medion_md2_unsol_event,
.init_hook = alc883_medion_md2_automute,
},  
+   [ALC883_MEDION_WIM2160] = {
+   .mixers = { alc883_medion_wim2160_mixer },
+   .init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs},
+   .num_dacs = ARRAY_SIZE(alc883_dac_nids),
+   .dac_nids = alc883_dac_nids,
+   .num_adc_nids = ARRAY_SIZE(alc883_adc_nids),
+   .adc_nids = alc883_adc_nids,
+   .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
+   .channel_mode = alc883_3ST_2ch_modes,
+   .input_mux = _lenovo_nb0763_capture_source,
+   .unsol_event = alc883_medion_md2_unsol_event,
+   .init_hook = alc883_medion_md2_automute,
+   },
[ALC883_LAPTOP_EAPD] = {
.mixers = { alc883_base_mixer,
alc883_chmode_mixer },
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PARTIAL PATCH] snd-hda-intel on Medion WIM2160

2007-09-11 Thread Bernhard Rosenkraenzer
Hi,
On Medion WIM2160 notebooks (soundchip PCI ID 8086:27d8/17c0:4071), 
snd-hda-intel loads and everything acts like it's working, but there's no 
sound. The master volume is muted and there's no way to unmute it.

The patch below fixes it, but unfortunately, Medion MD2 uses the same PCI 
(and subvendor/subdevice) ID -- so the patch quite likely breaks Medion MD2 
support.

WIM2160's soundchip has revision ID 02 - if MD2 uses something else, maybe 
that can be used to identify them and do the right thing. (I don't have an 
MD2...).

ttyl
bero

--- linux-2.6.22/sound/pci/hda/patch_realtek.c.wim2160snd~  2007-07-09 
01:32:17.0 +0200
+++ linux-2.6.22/sound/pci/hda/patch_realtek.c  2007-09-09 20:28:55.0 
+0200
@@ -159,6 +159,7 @@
ALC883_ACER,
ALC883_MEDION,
ALC883_MEDION_MD2,  
+   ALC883_MEDION_WIM2160,
ALC883_LAPTOP_EAPD,
ALC883_LENOVO_101E_2ch,
ALC883_LENOVO_NB0763,
@@ -5995,6 +5996,32 @@
{ } /* end */
 }; 
 
+static struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = {
+   HDA_CODEC_VOLUME(Master Playback Volume, 0x0c, 0x0, HDA_OUTPUT),
+   HDA_BIND_MUTE(Master Playback Switch, 0x0c, 2, HDA_INPUT),
+   HDA_CODEC_MUTE(Headphone Playback Switch, 0x14, 0x0, HDA_OUTPUT),
+   HDA_CODEC_VOLUME(CD Playback Volume, 0x0b, 0x04, HDA_INPUT),
+   HDA_CODEC_MUTE(CD Playback Switch, 0x0b, 0x04, HDA_INPUT),
+   HDA_CODEC_VOLUME(Mic Playback Volume, 0x0b, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE(Mic Playback Switch, 0x0b, 0x0, HDA_INPUT),
+   HDA_CODEC_VOLUME(iMic Playback Volume, 0x0b, 0x1, HDA_INPUT),
+   HDA_CODEC_MUTE(iMic Playback Switch, 0x0b, 0x1, HDA_INPUT),
+   HDA_CODEC_VOLUME(Capture Volume, 0x08, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE(Capture Switch, 0x08, 0x0, HDA_INPUT),
+   HDA_CODEC_VOLUME_IDX(Capture Volume, 1, 0x09, 0x0, HDA_INPUT),
+   HDA_CODEC_MUTE_IDX(Capture Switch, 1, 0x09, 0x0, HDA_INPUT),
+   {
+   .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+   /* .name = Capture Source, */
+   .name = Input Source,
+   .count = 2,
+   .info = alc883_mux_enum_info,
+   .get = alc883_mux_enum_get,
+   .put = alc883_mux_enum_put,
+   },
+   { } /* end */
+}; 
+
 static struct snd_kcontrol_new alc883_chmode_mixer[] = {
{
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -6364,6 +6391,7 @@
[ALC883_ACER]   = acer,
[ALC883_MEDION] = medion,
[ALC883_MEDION_MD2] = medion-md2,
+   [ALC883_MEDION_WIM2160] = medion-wim2160,
[ALC883_LAPTOP_EAPD]= laptop-eapd,
[ALC883_LENOVO_101E_2ch] = lenovo-101e,
[ALC883_LENOVO_NB0763]  = lenovo-nb0763,
@@ -6401,6 +6429,7 @@
SND_PCI_QUIRK(0x17aa, 0x3bfd, Lenovo NB0763, ALC883_LENOVO_NB0763),
SND_PCI_QUIRK(0x17aa, 0x2085, Lenovo NB0763, ALC883_LENOVO_NB0763),
-   SND_PCI_QUIRK(0x17c0, 0x4071, MEDION MD2, ALC883_MEDION_MD2),
+   //SND_PCI_QUIRK(0x17c0, 0x4071, MEDION MD2, ALC883_MEDION_MD2),
+   SND_PCI_QUIRK(0x17c0, 0x4071, Medion WIM2160, ALC883_MEDION_WIM2160),
{}
 };
 
@@ -6530,6 +6559,19 @@
.unsol_event = alc883_medion_md2_unsol_event,
.init_hook = alc883_medion_md2_automute,
},  
+   [ALC883_MEDION_WIM2160] = {
+   .mixers = { alc883_medion_wim2160_mixer },
+   .init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs},
+   .num_dacs = ARRAY_SIZE(alc883_dac_nids),
+   .dac_nids = alc883_dac_nids,
+   .num_adc_nids = ARRAY_SIZE(alc883_adc_nids),
+   .adc_nids = alc883_adc_nids,
+   .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
+   .channel_mode = alc883_3ST_2ch_modes,
+   .input_mux = alc883_lenovo_nb0763_capture_source,
+   .unsol_event = alc883_medion_md2_unsol_event,
+   .init_hook = alc883_medion_md2_automute,
+   },
[ALC883_LAPTOP_EAPD] = {
.mixers = { alc883_base_mixer,
alc883_chmode_mixer },
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch-mm 01/25] NOHZ: Fix nox x86 dyntick idle handling

2007-06-16 Thread Bernhard Rosenkraenzer
On Saturday 16 June 2007, Thomas Gleixner wrote:

> +#if defined(CONFIG_NO_HZ) && !defined(CONFIG_NONIRQ_WAKEUP)
> + /* Make sure that timer wheel updates are propagated */
> + if (!in_interrupt() && idle_cpu(smp_processor_id()) && !need_resched())
> + tick_nohz_stop_sched_tick();a
> +#endif
>   preempt_enable_no_resched();
>  }

The bit above breaks the build for a CONFIG_NO_HZ build without 
CONFIG_NONIRQ_WAKEUP -- please remove the extra "a" after 
tick_nohz_stop_sched_tick(); before applying this.

Regards,
bero
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch-mm 01/25] NOHZ: Fix nox x86 dyntick idle handling

2007-06-16 Thread Bernhard Rosenkraenzer
On Saturday 16 June 2007, Thomas Gleixner wrote:

 +#if defined(CONFIG_NO_HZ)  !defined(CONFIG_NONIRQ_WAKEUP)
 + /* Make sure that timer wheel updates are propagated */
 + if (!in_interrupt()  idle_cpu(smp_processor_id())  !need_resched())
 + tick_nohz_stop_sched_tick();a
 +#endif
   preempt_enable_no_resched();
  }

The bit above breaks the build for a CONFIG_NO_HZ build without 
CONFIG_NONIRQ_WAKEUP -- please remove the extra a after 
tick_nohz_stop_sched_tick(); before applying this.

Regards,
bero
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm[12]: Oops on bootup in xor_see_2

2007-04-03 Thread Bernhard Rosenkraenzer
On Saturday 31 March 2007, Neil Brown wrote:
> > > Code: 44 89 74 24 48 0f 20 c6 0f 06 0f 11 04 24 0f 11 4c 24 10 0f 11 54
> > > 24 20 0f
> > >   11 5c 24 30 0f 18 82 00 01 00 00 0f 18 82 20 01 00 00 <00> 00 00
> > > 00 00 00
> > >   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > > -
>
> Them bytes that look like '00' are mostly supposed to look like 'F0' -
> an x86 'noop'.
>
> Apparently a bin-utils bug.  An alpha of OpenSUSE-10.3 was compiling
> kernels like this.  I'm told it has been fixed.
>
> What distro/gcc version/binutils version was this compiled on?

You're right -- I'm using the current Ark Linux 2007.1 experimental build 
(always the latest stuff) - the update to binutils 2.17.50.0.13 broke it, 
after upgrading binutils to 2.17.50.0.14 everything is working perfectly 
again.

Thanks
bero
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.21-rc5-mm[12]: Oops on bootup in xor_see_2

2007-04-03 Thread Bernhard Rosenkraenzer
On Saturday 31 March 2007, Neil Brown wrote:
   Code: 44 89 74 24 48 0f 20 c6 0f 06 0f 11 04 24 0f 11 4c 24 10 0f 11 54
   24 20 0f
 11 5c 24 30 0f 18 82 00 01 00 00 0f 18 82 20 01 00 00 00 00 00
   00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   -

 Them bytes that look like '00' are mostly supposed to look like 'F0' -
 an x86 'noop'.

 Apparently a bin-utils bug.  An alpha of OpenSUSE-10.3 was compiling
 kernels like this.  I'm told it has been fixed.

 What distro/gcc version/binutils version was this compiled on?

You're right -- I'm using the current Ark Linux 2007.1 experimental build 
(always the latest stuff) - the update to binutils 2.17.50.0.13 broke it, 
after upgrading binutils to 2.17.50.0.14 everything is working perfectly 
again.

Thanks
bero
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.21-rc5-mm[12]: Oops on bootup in xor_see_2

2007-03-31 Thread Bernhard Rosenkraenzer
I'm getting this Oops when booting an 2.6.21-rc5-mm1 or 2.6.21-rc5-mm2 on an 
Acer Aspire 1501 LMi in 32 bit mode (2.6.21-rc4-mm1 + hotfixes works 
perfectly):

xor: automatically using best checksumming function: pIII_sse

BUG: unable to handle kernel NULL pointer dereference at virtual address 
0010
printing eip:
c02cb724
*pde=
Oops: 0002 [#1]
last sysfs file:
Modules linked in:
CPU: 0
EIP: 0060:[] Not tainted VLI
EFLAGS: 00010212 (2.6.12-rc5-mm2)
EIP is at xor_sse_2+0x34/0x200
eax: 0010 ebx: fffea4df ecx: df8c3000 edx: df8c
esi: 8005003b edi: c03ebce0 ebp: df8c3000 esp: dfd01ef8
ds: 007b es: 007b fs: 00d8 gs:  ss: 0068
Process swapper (pid: 1, ti=dfd00 task=c146aa10 task:ti=dfd0
Stack:        
          
   c13f1800 fffea4df  c02caa83 c03ebce0 df8c  c011bd7b
Call Trace:
  [] do_xor_speed+0x53/0xf0
  [] printk+0x1b/0x20
  [] calibrate_xor_block+0x2e/0x1b0
  [] kernel_init+0x92/0x1c0
  [] ret_from_fork+0x6/0x1c
  [] kernel_init+0x0/0x1c0
  [] kernel_init+0x0/0x1c0
  [] kernel_thread_helper+0x7/0x10
===
Code: 44 89 74 24 48 0f 20 c6 0f 06 0f 11 04 24 0f 11 4c 24 10 0f 11 54 24 20 
0f
  11 5c 24 30 0f 18 82 00 01 00 00 0f 18 82 20 01 00 00 <00> 00 00 00 00 
00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.21-rc5-mm[12]: Oops on bootup in xor_see_2

2007-03-31 Thread Bernhard Rosenkraenzer
I'm getting this Oops when booting an 2.6.21-rc5-mm1 or 2.6.21-rc5-mm2 on an 
Acer Aspire 1501 LMi in 32 bit mode (2.6.21-rc4-mm1 + hotfixes works 
perfectly):

xor: automatically using best checksumming function: pIII_sse

BUG: unable to handle kernel NULL pointer dereference at virtual address 
0010
printing eip:
c02cb724
*pde=
Oops: 0002 [#1]
last sysfs file:
Modules linked in:
CPU: 0
EIP: 0060:[c02cb724] Not tainted VLI
EFLAGS: 00010212 (2.6.12-rc5-mm2)
EIP is at xor_sse_2+0x34/0x200
eax: 0010 ebx: fffea4df ecx: df8c3000 edx: df8c
esi: 8005003b edi: c03ebce0 ebp: df8c3000 esp: dfd01ef8
ds: 007b es: 007b fs: 00d8 gs:  ss: 0068
Process swapper (pid: 1, ti=dfd00 task=c146aa10 task:ti=dfd0
Stack:        
          
   c13f1800 fffea4df  c02caa83 c03ebce0 df8c  c011bd7b
Call Trace:
  [c02caa83] do_xor_speed+0x53/0xf0
  [c011bd7b] printk+0x1b/0x20
  [c02cac02] calibrate_xor_block+0x2e/0x1b0
  [c03fe7a2] kernel_init+0x92/0x1c0
  [c0103dee] ret_from_fork+0x6/0x1c
  [c03fe710] kernel_init+0x0/0x1c0
  [c03fe710] kernel_init+0x0/0x1c0
  [c0104937] kernel_thread_helper+0x7/0x10
===
Code: 44 89 74 24 48 0f 20 c6 0f 06 0f 11 04 24 0f 11 4c 24 10 0f 11 54 24 20 
0f
  11 5c 24 30 0f 18 82 00 01 00 00 0f 18 82 20 01 00 00 00 00 00 00 00 
00
  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] 2.6.20-rc6-mm1: Fix compile if PREEMPT_RCU is set, but RCU_TRACE isn't

2007-01-29 Thread Bernhard Rosenkraenzer
2.6.20-rc6-mm1 fails to compile if CONFIG_PREEMPT_RCU is set and
CONFIG_RCU_TRACE isn' -- the fix is fairly obvious.

Signed-off-by: Bernhard Rosenkraenzer <[EMAIL PROTECTED]>

---

--- linux-2.6.19/kernel/rcupreempt.c.ark2007-01-28 23:38:07.0 
+0100
+++ linux-2.6.19/kernel/rcupreempt.c2007-01-28 23:38:12.0 +0100
@@ -619,7 +619,7 @@
synchronize_rcu();
 }
 
-#ifdef RCU_TRACE
+#ifdef CONFIG_RCU_TRACE
 int *rcupreempt_flipctr(int cpu)
 {
return _cpu(rcu_flipctr, cpu)[0];
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] 2.6.20-rc6-mm1: Fix compile if PREEMPT_RCU is set, but RCU_TRACE isn't

2007-01-29 Thread Bernhard Rosenkraenzer
2.6.20-rc6-mm1 fails to compile if CONFIG_PREEMPT_RCU is set and
CONFIG_RCU_TRACE isn' -- the fix is fairly obvious.

Signed-off-by: Bernhard Rosenkraenzer [EMAIL PROTECTED]

---

--- linux-2.6.19/kernel/rcupreempt.c.ark2007-01-28 23:38:07.0 
+0100
+++ linux-2.6.19/kernel/rcupreempt.c2007-01-28 23:38:12.0 +0100
@@ -619,7 +619,7 @@
synchronize_rcu();
 }
 
-#ifdef RCU_TRACE
+#ifdef CONFIG_RCU_TRACE
 int *rcupreempt_flipctr(int cpu)
 {
return per_cpu(rcu_flipctr, cpu)[0];
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.11-mm3 - DRM/i915 broken

2005-03-14 Thread Bernhard Rosenkraenzer
On Monday 14 March 2005 22:54, Brice Goglin wrote:
> DRM/i915 does not work on my Dell Dimension 3000 (i865 chipset).
> It's the first -mm kernel I try on this box. I don't whether previous -mm
> worked or not. Anyway, 2.6.11 works great.

You may want to try compiling without CONFIG_4KSTACKS. I've run into (not 100% 
reproducable) problems with i855 [and i865 is using a lot of the same code] 
and 4K stacks before...

LLaP
bero
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bug in kernel

2005-03-14 Thread Bernhard Rosenkraenzer
On Monday 14 March 2005 15:48, Evgeniy wrote:
> #include 
> #include 
> main(){
>   int err;
>   err=read(0,NULL,6);
>   printf("%d %d\n",err,errno);
> }

On my box (2.6.11), that does exactly what it is supposed to do -- "-1 14"
14 == EFAULT == "Bad Address", which is what NULL is...

Btw, printf("%d %d %s\n", err, errno, strerror(errno)); gives you a more 
readable error, that would immediately show you did get the right error.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bug in kernel

2005-03-14 Thread Bernhard Rosenkraenzer
On Monday 14 March 2005 15:48, Evgeniy wrote:
 #include stdio.h
 #include errno.h
 main(){
   int err;
   err=read(0,NULL,6);
   printf(%d %d\n,err,errno);
 }

On my box (2.6.11), that does exactly what it is supposed to do -- -1 14
14 == EFAULT == Bad Address, which is what NULL is...

Btw, printf(%d %d %s\n, err, errno, strerror(errno)); gives you a more 
readable error, that would immediately show you did get the right error.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.11-mm3 - DRM/i915 broken

2005-03-14 Thread Bernhard Rosenkraenzer
On Monday 14 March 2005 22:54, Brice Goglin wrote:
 DRM/i915 does not work on my Dell Dimension 3000 (i865 chipset).
 It's the first -mm kernel I try on this box. I don't whether previous -mm
 worked or not. Anyway, 2.6.11 works great.

You may want to try compiling without CONFIG_4KSTACKS. I've run into (not 100% 
reproducable) problems with i855 [and i865 is using a lot of the same code] 
and 4K stacks before...

LLaP
bero
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.11-mm3 breaks compile of drivers/char/esp.c

2005-03-12 Thread Bernhard Rosenkraenzer
drivers/char/esp.c: In function 'rs_stop':
drivers/char/esp.c:213: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c:219: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c: In function 'rs_start':
drivers/char/esp.c:230: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c:236: error: 'struct esp_struct' has no member named 'lock'
[...]

Obvious "fix" is to revert the changes to esp.c code.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.11-mm3 breaks compile of drivers/char/esp.c

2005-03-12 Thread Bernhard Rosenkraenzer
drivers/char/esp.c: In function 'rs_stop':
drivers/char/esp.c:213: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c:219: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c: In function 'rs_start':
drivers/char/esp.c:230: error: 'struct esp_struct' has no member named 'lock'
drivers/char/esp.c:236: error: 'struct esp_struct' has no member named 'lock'
[...]

Obvious fix is to revert the changes to esp.c code.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.11-rc5-mm1: (seemingly non-fatal) NULL pointer dereference on startup

2005-03-01 Thread Bernhard Rosenkraenzer
I got this right after the initramfs script was finished and the root 
filesystem was mounted:

Unable to handle kernel NULL pointer dereference at virtual address 
printing eip:
c02f52fa
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in:
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00010246   (2.6.11-0.rc5.1ark)
EIP is at __down+0x10a/0x130
eax:    ebx: cf63652c   ecx: cfd6d020   edx: 
esi: 0286   edi: cfbcd000   ebp: cfbb3020   esp: cfbcddc0
ds: 007b   es: 007b   ss: 0068
Process hotplug (pid: 286, threadinfo=cfbcd000 task=cfbb3020)
Stack: cf636534 0001 cfbb3020 c0116cb0 00100100 00200200 cfbcde04 9bbf6ac4
   d70e78df cf727d14 cfbcdf54 cfbcde6c cffe4140 c02f51c7 0010 cf6364bc
   c01711ad cf727d14 cfbcde6c c016c7b6 cf6364bc 0001 cf6349fa cfbcde6c
Call Trace:
[] default_wake_function+0x0/0x20
[] __down_failed+0x7/0xc
[] .text.lock.namei+0x8/0x1db
[] permission+0xe6/0xf0
[] link_path_walk+0x882/0xf80
[] __up+0x1c/0x20
[] .text.lock.namei+0x22/0x1db
[] link_path_walk+0x9c1/0xf80
[] handle_mm_fault+0x1ea/0x540
[] path_lookup+0x83/0x150
[] open_namei+0x8f/0x620
[] filp_open+0x3b/0x70
[] get_unused_fd+0x2c/0xd0
[] sys_open+0x57/0xf0
[] syscall_call+0x7/0xb
Code: ff 21 e0 ff 48 14 8b 40 08 a8 08 75 19 c7 45 00 00 00 00 00 83 c4 24 
5b5e 5f 5d c3 e8 00 07 00 00 e9 73 ff ff ff e8 f6 06 00 00 <00> 00 00 00 00 
00 eb da 0f 0b a4 00 7b 48 30 c0 eb 8e 0f 0b a5


Same box, same kernel, with hotplug disabled boots up fine and produces a 
similar oops later:

Unable to handle kernel NULL pointer dereference at virtual address 
printing eip:
c02f52fa
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in: usbkbd usbhid snd_cmipci gameport snd_pcm snd_page_alloc 
snd_opl3_lib snd_timer snd_hwdep snd_mpu401_uart snd_rawmidi snd_seq_device 
snd soundcore psmouse binfmt_misc lp parport md5 ipv6 8139too mii af_packet 
8250 serial_core ide_cd cdrom ohci_hcd usbcore video thermal sony_acpi 
processor pcc_acpi fan container button battery ac genrtc
CPU:0
EIP:0060:[]Not tainted VLI
EFLAGS: 00210246   (2.6.11-0.rc5.1ark)
EIP is at __down+0x10a/0x130
eax:    ebx: c0346644   ecx: cda20540   edx: 
esi: 00200286   edi: c6b6f000   ebp: c4c68020   esp: c6b6fed4
ds: 007b   es: 007b   ss: 0068
Process iwconfig (pid: 3080, threadinfo=c6b6f000 task=c4c68020)
Stack: c034664c 0001 c4c68020 c0116cb0 00100100 00200200 30746973 
   0001 cfe71ee0 cfe71ee0 c55006e0 c55006e0 c02f51c7  c4c68020
   c02f6c94 c019279f    c019288f  c55006e0
Call Trace:
[] default_wake_function+0x0/0x20
[] __down_failed+0x7/0xc
[] .text.lock.kernel_lock+0x28/0x37
[] de_put+0xf/0xa0
[] proc_delete_inode+0x5f/0xc0
[] proc_delete_inode+0x0/0xc0
[] generic_delete_inode+0xb5/0x190
[] iput+0x3c/0x90
[] dput+0x6b/0x2b0
[] __fput+0x11e/0x1c0
[] filp_close+0x52/0xa0
[] sys_close+0x58/0xa0
[] sysenter_past_esp+0x54/0x75
Code: ff 21 e0 ff 48 14 8b 40 08 a8 08 75 19 c7 45 00 00 00 00 00 83 c4 24 
5b5e 5f 5d c3 e8 00 07 00 00 e9 73 ff ff ff e8 f6 06 00 00 <00> 00 00 00 00 
00 eb da 0f 0b a4 00 7b 48 30 c0 eb 8e 0f 0b a5
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.6.11-rc5-mm1: (seemingly non-fatal) NULL pointer dereference on startup

2005-03-01 Thread Bernhard Rosenkraenzer
I got this right after the initramfs script was finished and the root 
filesystem was mounted:

Unable to handle kernel NULL pointer dereference at virtual address 
printing eip:
c02f52fa
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in:
CPU:0
EIP:0060:[c02f52fa]Not tainted VLI
EFLAGS: 00010246   (2.6.11-0.rc5.1ark)
EIP is at __down+0x10a/0x130
eax:    ebx: cf63652c   ecx: cfd6d020   edx: 
esi: 0286   edi: cfbcd000   ebp: cfbb3020   esp: cfbcddc0
ds: 007b   es: 007b   ss: 0068
Process hotplug (pid: 286, threadinfo=cfbcd000 task=cfbb3020)
Stack: cf636534 0001 cfbb3020 c0116cb0 00100100 00200200 cfbcde04 9bbf6ac4
   d70e78df cf727d14 cfbcdf54 cfbcde6c cffe4140 c02f51c7 0010 cf6364bc
   c01711ad cf727d14 cfbcde6c c016c7b6 cf6364bc 0001 cf6349fa cfbcde6c
Call Trace:
[c0116cb0] default_wake_function+0x0/0x20
[c02f51c7] __down_failed+0x7/0xc
[c01711ad] .text.lock.namei+0x8/0x1db
[c016c7b6] permission+0xe6/0xf0
[c016d762] link_path_walk+0x882/0xf80
[c010218c] __up+0x1c/0x20
[c01711c7] .text.lock.namei+0x22/0x1db
[c016d8a1] link_path_walk+0x9c1/0xf80
[c014e2ea] handle_mm_fault+0x1ea/0x540
[c016dee3] path_lookup+0x83/0x150
[c016e7ef] open_namei+0x8f/0x620
[c015d49b] filp_open+0x3b/0x70
[c015d4fc] get_unused_fd+0x2c/0xd0
[c015d677] sys_open+0x57/0xf0
[c01030d1] syscall_call+0x7/0xb
Code: ff 21 e0 ff 48 14 8b 40 08 a8 08 75 19 c7 45 00 00 00 00 00 83 c4 24 
5b5e 5f 5d c3 e8 00 07 00 00 e9 73 ff ff ff e8 f6 06 00 00 00 00 00 00 00 
00 eb da 0f 0b a4 00 7b 48 30 c0 eb 8e 0f 0b a5


Same box, same kernel, with hotplug disabled boots up fine and produces a 
similar oops later:

Unable to handle kernel NULL pointer dereference at virtual address 
printing eip:
c02f52fa
*pde = 
Oops: 0002 [#1]
PREEMPT
Modules linked in: usbkbd usbhid snd_cmipci gameport snd_pcm snd_page_alloc 
snd_opl3_lib snd_timer snd_hwdep snd_mpu401_uart snd_rawmidi snd_seq_device 
snd soundcore psmouse binfmt_misc lp parport md5 ipv6 8139too mii af_packet 
8250 serial_core ide_cd cdrom ohci_hcd usbcore video thermal sony_acpi 
processor pcc_acpi fan container button battery ac genrtc
CPU:0
EIP:0060:[c02f52fa]Not tainted VLI
EFLAGS: 00210246   (2.6.11-0.rc5.1ark)
EIP is at __down+0x10a/0x130
eax:    ebx: c0346644   ecx: cda20540   edx: 
esi: 00200286   edi: c6b6f000   ebp: c4c68020   esp: c6b6fed4
ds: 007b   es: 007b   ss: 0068
Process iwconfig (pid: 3080, threadinfo=c6b6f000 task=c4c68020)
Stack: c034664c 0001 c4c68020 c0116cb0 00100100 00200200 30746973 
   0001 cfe71ee0 cfe71ee0 c55006e0 c55006e0 c02f51c7  c4c68020
   c02f6c94 c019279f    c019288f  c55006e0
Call Trace:
[c0116cb0] default_wake_function+0x0/0x20
[c02f51c7] __down_failed+0x7/0xc
[c02f6c94] .text.lock.kernel_lock+0x28/0x37
[c019279f] de_put+0xf/0xa0
[c019288f] proc_delete_inode+0x5f/0xc0
[c0192830] proc_delete_inode+0x0/0xc0
[c017b225] generic_delete_inode+0xb5/0x190
[c017a27c] iput+0x3c/0x90
[c01774bb] dput+0x6b/0x2b0
[c015f39e] __fput+0x11e/0x1c0
[c015d792] filp_close+0x52/0xa0
[c015d838] sys_close+0x58/0xa0
[c010307b] sysenter_past_esp+0x54/0x75
Code: ff 21 e0 ff 48 14 8b 40 08 a8 08 75 19 c7 45 00 00 00 00 00 83 c4 24 
5b5e 5f 5d c3 e8 00 07 00 00 e9 73 ff ff ff e8 f6 06 00 00 00 00 00 00 00 
00 eb da 0f 0b a4 00 7b 48 30 c0 eb 8e 0f 0b a5
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: bug in redhat gcc 2.96

2001-05-09 Thread Bernhard Rosenkraenzer

On Wed, 9 May 2001, Dan Kegel wrote:

> OH.  I kept looking for a package called 'kgcc'.  Silly me.
>
> Guess it's time for a "How to compile a kernel on Red Hat 7.1" FAQ.

The answer is that you can safely use gcc 2.96. No need to install kgcc or
any other old compiler.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



Re: bug in redhat gcc 2.96

2001-05-09 Thread Bernhard Rosenkraenzer

On Wed, 9 May 2001, Dan Kegel wrote:

 OH.  I kept looking for a package called 'kgcc'.  Silly me.

 Guess it's time for a How to compile a kernel on Red Hat 7.1 FAQ.

The answer is that you can safely use gcc 2.96. No need to install kgcc or
any other old compiler.

LLaP
bero


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



[PATCH] MatroxFB support can't be compiled into kernel in 2.4.0-ac11

2001-01-26 Thread Bernhard Rosenkraenzer

Subject says it all - works as a module, but can't be compiled into the
kernel because of duplicate definitions, caused by several files including
matroxfb_base.h which in turn defines global_disp.

Patch attached.

LLaP
bero



--- linux/drivers/video/matrox/matroxfb_base.h.bero Fri Jan 26 13:39:54 2001
+++ linux/drivers/video/matrox/matroxfb_base.h  Fri Jan 26 13:40:22 2001
@@ -589,7 +589,11 @@
 #else
 
 extern struct matrox_fb_info matroxfb_global_mxinfo;
+#ifdef MODULE
 struct display global_disp;
+#else
+extern struct display global_disp;
+#endif
 
 #define ACCESS_FBINFO(x) (matroxfb_global_mxinfo.x)
 #define ACCESS_FBINFO2(info, x) (matroxfb_global_mxinfo.x)
--- linux/drivers/video/matrox/matroxfb_base.c.bero Fri Jan 26 13:40:40 2001
+++ linux/drivers/video/matrox/matroxfb_base.c  Fri Jan 26 13:41:29 2001
@@ -98,6 +98,10 @@
 #include 
 #include 
 
+#ifndef MODULE
+struct display global_disp;
+#endif
+ 
 #ifdef CONFIG_PPC
 unsigned char nvram_read_byte(int);
 static int default_vmode = VMODE_NVRAM;



[PATCH] MatroxFB support can't be compiled into kernel in 2.4.0-ac11

2001-01-26 Thread Bernhard Rosenkraenzer

Subject says it all - works as a module, but can't be compiled into the
kernel because of duplicate definitions, caused by several files including
matroxfb_base.h which in turn defines global_disp.

Patch attached.

LLaP
bero



--- linux/drivers/video/matrox/matroxfb_base.h.bero Fri Jan 26 13:39:54 2001
+++ linux/drivers/video/matrox/matroxfb_base.h  Fri Jan 26 13:40:22 2001
@@ -589,7 +589,11 @@
 #else
 
 extern struct matrox_fb_info matroxfb_global_mxinfo;
+#ifdef MODULE
 struct display global_disp;
+#else
+extern struct display global_disp;
+#endif
 
 #define ACCESS_FBINFO(x) (matroxfb_global_mxinfo.x)
 #define ACCESS_FBINFO2(info, x) (matroxfb_global_mxinfo.x)
--- linux/drivers/video/matrox/matroxfb_base.c.bero Fri Jan 26 13:40:40 2001
+++ linux/drivers/video/matrox/matroxfb_base.c  Fri Jan 26 13:41:29 2001
@@ -98,6 +98,10 @@
 #include linux/matroxfb.h
 #include asm/uaccess.h
 
+#ifndef MODULE
+struct display global_disp;
+#endif
+ 
 #ifdef CONFIG_PPC
 unsigned char nvram_read_byte(int);
 static int default_vmode = VMODE_NVRAM;



Re: `rmdir .` doesn't work in 2.4

2001-01-11 Thread Bernhard Rosenkraenzer

On Mon, 8 Jan 2001, Benson Chow wrote:

> Not very portable at all...
>
> hpux = HP/UX 10.2
>
> hpux:~/foo$ rmdir .
> rmdir: cannot remove .. or .

Same on FreeBSD, by the way

bash-2.04# uname -a
FreeBSD freebsd.redhat.de 5.0-20001112-CURRENT FreeBSD 5.0-20001112-CURRENT
#0: Sun Nov 12 14:04:55 GMT 2000 [EMAIL PROTECTED]:/usr/src/sys/compile/BERO  i386
bash-2.04# mkdir test
bash-2.04# cd test
bash-2.04# rmdir .
rmdir: .: Invalid argument

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: `rmdir .` doesn't work in 2.4

2001-01-11 Thread Bernhard Rosenkraenzer

On Mon, 8 Jan 2001, Benson Chow wrote:

 Not very portable at all...

 hpux = HP/UX 10.2

 hpux:~/foo$ rmdir .
 rmdir: cannot remove .. or .

Same on FreeBSD, by the way

bash-2.04# uname -a
FreeBSD freebsd.redhat.de 5.0-20001112-CURRENT FreeBSD 5.0-20001112-CURRENT
#0: Sun Nov 12 14:04:55 GMT 2000 [EMAIL PROTECTED]:/usr/src/sys/compile/BERO  i386
bash-2.04# mkdir test
bash-2.04# cd test
bash-2.04# rmdir .
rmdir: .: Invalid argument

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Signal 11

2000-12-14 Thread Bernhard Rosenkraenzer

On Thu, 14 Dec 2000, Linus Torvalds wrote:

> If you ask any gcc folks, the main reason they think this was a really
> stupid thing to do was exactly that the 2.96 thing is incompatible BOTH
> with the 2.95.x release _and_ the upcoming 3.0 release.

The same thing is true of *any* gcc release.
For example, C++-ABI wise, 2.95.x is incompatible BOTH with egcs 1.1.x
_and_ the upcoming 3.0 release.

> > Like what - gcc 2.5.8 ? The problem is not in general that the snapshot is any
> > buggier than before, but that the bugs are in different places. egcs and gcc295
> > both caused X compile problems too.
>
> gcc-2.95.2 is at least a real release, from a branch that is actively
> maintained

Not very actively.
Please take the time to compare the activity in gcc_2_95_branch with the
patches in the current "2.96" version in rawhide.

> - so a 2.95.3 is likely to happen reasonably soon, fixing as
> many problems as possible _without_ being incompatible like the snapshots
> are.

It will be incompatible with any non-2.95.x-version, and I don't think
2.96-68 is any more buggy than the current 2.95 branch.
The initial 2.96 "release" did have some odd bugs; all the known ones have
been fixed.

> Or just stay at 2.91.66 (egcs).

This may be good for the kernel, but it's not acceptable for C++.
Also, there's no support for some of the platforms we have to work with,
such as ia64 and S/390 - using different compilers for different
architectures isn't a real solution either.

> As to X compile problems - neither egcs nor 2.95.2 appears to have any
> trouble with the CVS tree.

Neither does 2.96-68.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Signal 11

2000-12-14 Thread Bernhard Rosenkraenzer

On Thu, 14 Dec 2000, Linus Torvalds wrote:

 If you ask any gcc folks, the main reason they think this was a really
 stupid thing to do was exactly that the 2.96 thing is incompatible BOTH
 with the 2.95.x release _and_ the upcoming 3.0 release.

The same thing is true of *any* gcc release.
For example, C++-ABI wise, 2.95.x is incompatible BOTH with egcs 1.1.x
_and_ the upcoming 3.0 release.

  Like what - gcc 2.5.8 ? The problem is not in general that the snapshot is any
  buggier than before, but that the bugs are in different places. egcs and gcc295
  both caused X compile problems too.

 gcc-2.95.2 is at least a real release, from a branch that is actively
 maintained

Not very actively.
Please take the time to compare the activity in gcc_2_95_branch with the
patches in the current "2.96" version in rawhide.

 - so a 2.95.3 is likely to happen reasonably soon, fixing as
 many problems as possible _without_ being incompatible like the snapshots
 are.

It will be incompatible with any non-2.95.x-version, and I don't think
2.96-68 is any more buggy than the current 2.95 branch.
The initial 2.96 "release" did have some odd bugs; all the known ones have
been fixed.

 Or just stay at 2.91.66 (egcs).

This may be good for the kernel, but it's not acceptable for C++.
Also, there's no support for some of the platforms we have to work with,
such as ia64 and S/390 - using different compilers for different
architectures isn't a real solution either.

 As to X compile problems - neither egcs nor 2.95.2 appears to have any
 trouble with the CVS tree.

Neither does 2.96-68.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



de4x5 hangs in 2.4.0-test11-pre7

2000-11-20 Thread Bernhard Rosenkraenzer

The de4x5 driver crashed on me twice today (on a 2 CPU x86 box); The
network went down for no visible reason (nothing in syslog or on the console).

The network card is a
00:0b.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Compu-Shack: Unknown device 4235)
Subsystem: Unknown device 4942:4c4c
I/O ports at b800 [size=64]

Shutting down networking, removing the module and re-inserting it
produces:

eth0: DC21143 at 0xd000 (PCI bus 0, device 11), h/w address 00:00:cb:56:48:9b,
eth0: Using generic MII device control. If the board doesn't operate,
please mail the following dump to the author:

MII device address: 5
MII CR:  3000
MII SR:  7809
MII ID0: 15
MII ID1: f430
MII ANA: 1e1
MII ANC: 0
MII 16:  158
MII 17:  608
MII 18:  10

  and requires IRQ10 (provided by PCI BIOS).
de4x5.c:V0.545 1999/11/28 [EMAIL PROTECTED]
eth0: media is 100Mb/s.


and


eth0: DC21143 at 0xd000 (PCI bus 0, device 11), h/w address 00:00:cb:56:48:9b,
eth0: Using generic MII device control. If the board doesn't operate,
please mail the following dump to the author:

MII device address: 5
MII CR:  3000
MII SR:  7809
MII ID0: 15
MII ID1: f430
MII ANA: 1e1
MII ANC: 0
MII 16:  158
MII 17:  408
MII 18:  10

  and requires IRQ17 (provided by PCI BIOS).
de4x5.c:V0.545 1999/11/28 [EMAIL PROTECTED]
eth0: media is 100Mb/s.


LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Defective Red Hat Distribution poorly represents Linux

2000-11-20 Thread Bernhard Rosenkraenzer

On Mon, 20 Nov 2000, Tigran Aivazian wrote:

> Try Red Hat 7.0 -- it is certainly better. True, no distribution is
> perfect but over the years I've developed my own CD image upgrade.iso
> which goes directly after installing latest Red Hat distribution. It is
> full of things like BRS, dict(1), 'alias md="mkdir -p"' or "set
> editing-mode vi" which should be installed by default but for some reason
> aren't.

Is this thing available for download somewhere? I'd definitely like to see
what we should be doing differently.

"set editing-mode vi" definitely won't make it into the base distribution
though, it's impossible for total newbies to handle (and people who like
it usually know how to turn it on themselves).

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Defective Red Hat Distribution poorly represents Linux

2000-11-20 Thread Bernhard Rosenkraenzer

Wrong list, but this needs to be set straight. Please send any further
problem reports about Red Hat Linux to http://bugzilla.redhat.com/bugzilla

> I was terribly wrong. This Red Hat version is irrevocably defective.

With the exception that it works for everyone else.

> (1)   It will not create a bootable disk because it forgets
>   to load scsi_mod.o, and sd_mod.o  before it loads
>   aic7xxx.o

This doesn't happen here. It's supposed to use modprobe, which
automatically finds these dependencies.

>   /etc/conf.modules was found to contain only aic7xxx
>   as an alias for scsi_hostadapter.

How did you install that?
>From a relatively fresh 6.2 install (this box doesn't have any SCSI
controllers or soundcards):

# cat /etc/conf.modules
alias eth0 3c90x
alias parport_lowlevel parport_pc

> (3)   It "sort of" worked. However, network daemons kept
>   dropping core. X would eventually crash, leaving the
>   terminal in an unusable state, etc.

Are you sure the hardware is ok? Applications that usually work well
dumping core is usually a sign of bad memory or overheated CPUs. See
http://www.bitwizard.nl/sig11/ for more detailed information.

It's either this, or you've added customizations that don't work, or
you've used a CD someone has tampered with.

We know of _many_ servers running Red Hat Linux 6.2 with an uptime ever
since they first installed.

> (4)   It is impossible to build a known working kernel on the
>   machine because the linker, `ld` crashes:

Same as (3).
I've been using 6.2 until 7 was released, I usually compile about 25
packages a day, and I've never seen ld crashing.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Oops in 2.4.0-test11-pre4 (SMP x86)

2000-11-20 Thread Bernhard Rosenkraenzer

I just got this on a dual Pentium III-700 system, running
2.4.0-test11-pre4; no special patches applied except for commenting out
the printk line generating the tons of "APIC error on CPU0" messages
generated on Gigabyte P2D boards:

Unexpected IRQ trap at vector 6c
kernel BUG at smp.c:281

ksymoops 2.3.4 on i686 2.4.0-test11.  Options used
 -V (default)
 -k /proc/ksyms (specified)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test11/ (default)
 -m /boot/System.map-2.4.0-test11 (specified)

invalid operand: 
CPU:1
EIP:0010:[]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010086
eax: 0019   ebx: 0001   ecx: dbff6000   edx: 0001
esi: c010b130   edi: dbff6000   ebp: e000   esp: dbff7f64
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=dbff7000)
Stack: c02090c5 c0209225 0119 dbff6000 c010b130 c0206d31 dbff6000 dbff6000
   0001 c010b130 dbff6000 e000  c0100018 dbff0018 008d
   c010b15e 0010 0246 c010af72 0002   
Call Trace: [] [] [] [] []
[] [] [] []
Code: 0f 0b 83 c4 0c 8d 34 dd 00 00 00 00 8b 86 40 8d 23 c0 39 05

>>EIP; c0177cdd<=
Trace; c02090c5 
Trace; c0209225 
Trace; c010b130 
Trace; c0206d31 
Trace; c010b130 
Trace; c0100018 
Trace; c010b15e 
Trace; c010af72 
Trace; c012693f 
Code;  c0177cdd 
 <_EIP>:
Code;  c0177cdd<=
   0:   0f 0b ud2a  <=
Code;  c0177cdf 
   2:   83 c4 0c  add$0xc,%esp
Code;  c0177ce2 
   5:   8d 34 dd 00 00 00 00  lea0x0(,%ebx,8),%esi
Code;  c0177ce9 
   c:   8b 86 40 8d 23 c0 mov0xc0238d40(%esi),%eax
Code;  c0177cef 
  12:   39 05 00 00 00 00 cmp%eax,0x0

Kernel panic: Attempted to kill the idle task!

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Oops in 2.4.0-test11-pre4 (SMP x86)

2000-11-20 Thread Bernhard Rosenkraenzer

I just got this on a dual Pentium III-700 system, running
2.4.0-test11-pre4; no special patches applied except for commenting out
the printk line generating the tons of "APIC error on CPU0" messages
generated on Gigabyte P2D boards:

Unexpected IRQ trap at vector 6c
kernel BUG at smp.c:281

ksymoops 2.3.4 on i686 2.4.0-test11.  Options used
 -V (default)
 -k /proc/ksyms (specified)
 -l /proc/modules (default)
 -o /lib/modules/2.4.0-test11/ (default)
 -m /boot/System.map-2.4.0-test11 (specified)

invalid operand: 
CPU:1
EIP:0010:[c0177cdd]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010086
eax: 0019   ebx: 0001   ecx: dbff6000   edx: 0001
esi: c010b130   edi: dbff6000   ebp: e000   esp: dbff7f64
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=dbff7000)
Stack: c02090c5 c0209225 0119 dbff6000 c010b130 c0206d31 dbff6000 dbff6000
   0001 c010b130 dbff6000 e000  c0100018 dbff0018 008d
   c010b15e 0010 0246 c010af72 0002   
Call Trace: [c02090c5] [c0209225] [c010b130] [c0206d31] [c010b130]
[c0100018] [c010b15e] [c010af72] [c012693f]
Code: 0f 0b 83 c4 0c 8d 34 dd 00 00 00 00 8b 86 40 8d 23 c0 39 05

EIP; c0177cdd shm_put_super+8d/e0   =
Trace; c02090c5 stext_lock+5f4d/5f7c
Trace; c0209225 vide+131/13c0
Trace; c010b130 sys_execve+20/60
Trace; c0206d31 stext_lock+3bb9/5f7c
Trace; c010b130 sys_execve+20/60
Trace; c0100018 startup_32+18/cc
Trace; c010b15e sys_execve+4e/60
Trace; c010af72 cpu_idle+12/70
Trace; c012693f printk+14f/1a0
Code;  c0177cdd shm_put_super+8d/e0
 _EIP:
Code;  c0177cdd shm_put_super+8d/e0   =
   0:   0f 0b ud2a  =
Code;  c0177cdf shm_put_super+8f/e0
   2:   83 c4 0c  add$0xc,%esp
Code;  c0177ce2 shm_put_super+92/e0
   5:   8d 34 dd 00 00 00 00  lea0x0(,%ebx,8),%esi
Code;  c0177ce9 shm_put_super+99/e0
   c:   8b 86 40 8d 23 c0 mov0xc0238d40(%esi),%eax
Code;  c0177cef shm_put_super+9f/e0
  12:   39 05 00 00 00 00 cmp%eax,0x0

Kernel panic: Attempted to kill the idle task!

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Defective Red Hat Distribution poorly represents Linux

2000-11-20 Thread Bernhard Rosenkraenzer

Wrong list, but this needs to be set straight. Please send any further
problem reports about Red Hat Linux to http://bugzilla.redhat.com/bugzilla

 I was terribly wrong. This Red Hat version is irrevocably defective.

With the exception that it works for everyone else.

 (1)   It will not create a bootable disk because it forgets
   to load scsi_mod.o, and sd_mod.o  before it loads
   aic7xxx.o

This doesn't happen here. It's supposed to use modprobe, which
automatically finds these dependencies.

   /etc/conf.modules was found to contain only aic7xxx
   as an alias for scsi_hostadapter.

How did you install that?
From a relatively fresh 6.2 install (this box doesn't have any SCSI
controllers or soundcards):

# cat /etc/conf.modules
alias eth0 3c90x
alias parport_lowlevel parport_pc

 (3)   It "sort of" worked. However, network daemons kept
   dropping core. X would eventually crash, leaving the
   terminal in an unusable state, etc.

Are you sure the hardware is ok? Applications that usually work well
dumping core is usually a sign of bad memory or overheated CPUs. See
http://www.bitwizard.nl/sig11/ for more detailed information.

It's either this, or you've added customizations that don't work, or
you've used a CD someone has tampered with.

We know of _many_ servers running Red Hat Linux 6.2 with an uptime ever
since they first installed.

 (4)   It is impossible to build a known working kernel on the
   machine because the linker, `ld` crashes:

Same as (3).
I've been using 6.2 until 7 was released, I usually compile about 25
packages a day, and I've never seen ld crashing.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Defective Red Hat Distribution poorly represents Linux

2000-11-20 Thread Bernhard Rosenkraenzer

On Mon, 20 Nov 2000, Tigran Aivazian wrote:

 Try Red Hat 7.0 -- it is certainly better. True, no distribution is
 perfect but over the years I've developed my own CD image upgrade.iso
 which goes directly after installing latest Red Hat distribution. It is
 full of things like BRS, dict(1), 'alias md="mkdir -p"' or "set
 editing-mode vi" which should be installed by default but for some reason
 aren't.

Is this thing available for download somewhere? I'd definitely like to see
what we should be doing differently.

"set editing-mode vi" definitely won't make it into the base distribution
though, it's impossible for total newbies to handle (and people who like
it usually know how to turn it on themselves).

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



de4x5 hangs in 2.4.0-test11-pre7

2000-11-20 Thread Bernhard Rosenkraenzer

The de4x5 driver crashed on me twice today (on a 2 CPU x86 box); The
network went down for no visible reason (nothing in syslog or on the console).

The network card is a
00:0b.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43 (rev 41)
Subsystem: Compu-Shack: Unknown device 4235)
Subsystem: Unknown device 4942:4c4c
I/O ports at b800 [size=64]

Shutting down networking, removing the module and re-inserting it
produces:

eth0: DC21143 at 0xd000 (PCI bus 0, device 11), h/w address 00:00:cb:56:48:9b,
eth0: Using generic MII device control. If the board doesn't operate,
please mail the following dump to the author:

MII device address: 5
MII CR:  3000
MII SR:  7809
MII ID0: 15
MII ID1: f430
MII ANA: 1e1
MII ANC: 0
MII 16:  158
MII 17:  608
MII 18:  10

  and requires IRQ10 (provided by PCI BIOS).
de4x5.c:V0.545 1999/11/28 [EMAIL PROTECTED]
eth0: media is 100Mb/s.


and


eth0: DC21143 at 0xd000 (PCI bus 0, device 11), h/w address 00:00:cb:56:48:9b,
eth0: Using generic MII device control. If the board doesn't operate,
please mail the following dump to the author:

MII device address: 5
MII CR:  3000
MII SR:  7809
MII ID0: 15
MII ID1: f430
MII ANA: 1e1
MII ANC: 0
MII 16:  158
MII 17:  408
MII 18:  10

  and requires IRQ17 (provided by PCI BIOS).
de4x5.c:V0.545 1999/11/28 [EMAIL PROTECTED]
eth0: media is 100Mb/s.


LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



APIC errors w/ 2.4.0-test11-pre2

2000-11-10 Thread Bernhard Rosenkraenzer

Hi,
after booting a 2.4.0 (any testx-release I've tried so far, including
test11-pre2) on a Dual-Pentium III box, the system works ok, but the
console gets filled with

APIC error on CPU0: 08(08)

every couple of seconds, occasionally some lines in between say

APIC error on CPU0: 08(02)

and

APIC error on CPU0: 02(08)

This doesn't happen with 2.2.x, but I've seen "unexpected IRQ vector 208
on CPU0" in 2.2.18 occasionally (nowhere near as often, maybe once a
month).

This is an ASUS P2-D board (Intel 440BX chipset), 2 Pentium III-700
processors.

The same kernel works perfectly on a similar (but slower) system, Gigabyte
P2B-D board (Intel 440BX chipset), 2 Pentium III-450 processors.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Sat, 30 Sep 2000, Marc Lehmann wrote:

> OTOH, [EMAIL PROTECTED] might get pressed into not doing incompatible
> changes,

We're doing no such thing.
If we did this sort of thing, he would have been pressed into releasing
glibc 2.2 in time.
[EMAIL PROTECTED] did have some influence on choosing the
glibc for 7.0 though, so we're confident no major changes will be
necessary.

> This might not
> mean anything, however, since redhat was most probably ignoring their
> own people (e.g. from cygnus) who I really believe didn't support their
> decision.

The opposite is the case. They didn't want to have to support a dead
branch (2.1/2.95).

> Redhat might just hack their libc to be redhat-7.0 compatible
> later...

That's what we'll do if any incompatible changes will be necessary -
fortunately glibc supports versioning.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Fri, 29 Sep 2000, Alec Smith wrote:

> Congratulations, you got further than I did. I couldn't even get that
> disaster known as RH7.0 to even install. It died with some error about not
> being able to detect free disk space after formatting the paritions...

Please report this at http://bugzilla.redhat.com/bugzilla, along with
details about your hardware - we didn't see this on any of our test
machines, and neither did our beta testers.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Fri, 29 Sep 2000, David M. Rector wrote:

> Has anyone tried Redhat 7.0 yet?

Sure...

> What a mess.

Not quite...

> 1) It would not compile stock kernels out of the box. (ends at
> compress.S) with a fatal error.

Either use the kernel compiler (kgcc) or patch the file to be compatible
with newer gccs.

> 2) Trying to compile the kernel source for 2.2.16 that comes with the
> redhat disk (which is very different than the stock 2.2.16) causes my
> system come to a screeching halt, no messages, no errors, crashed solid.

I can't reproduce this... Do you get any helpful info from SysRq? Anything
in syslog?

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Sat, 30 Sep 2000, Marc Lehmann wrote:

> Which still makes it an broken, experimental, unreleased and unofficial
> compiler, with all the consequences I said.

I agree about the "unreleased and unofficial" part, but it's not quite
that broken and experimental. Everything that is shipped with Red Hat
Linux (the distribution itself, Powertools, the extra CDs for Europe,
etc) compiles and works without problems.
Some programs needed patches, but that was much like updating from egcs
1.1.2 to gcc 2.95 - stricter checks for clean code.

> > possible, but 2.95 isnt binary compatible with anything past or future and
> 
> Not true,

Why not? Its C++ part definitely isn't binary compatible with the previous
(egcs 1.1.2) version and the future (gcc 2.96) version.
The C part is, and so is the C part of the 2.96 compiler in Red Hat Linux
7. (We're still fully LSB compliant.)

Also, it's GPL code, so anyone who wants to use it on other distributions
can just take libstdc++; people providing binary-only software can include
whatever version of libstdc++ they used with the binary and LD_PRELOAD it,
or even link it statically.

This is much like saying everyone who ships gcc 2.95.x is just trying to
make everybody not use Red Hat Linux because we never shipped it, and
therefore aren't shipping the libstdc++ used by 2.95.x.

> but even if it were, 2.95 is compatible to all other distributions

At the moment, yes. Once the next gcc is released, they'll start updating,
and 2.95 would be incompatible.

We don't break binary compatibility in minor releases (which is why even
6.2 still used egcs 1.1.2 even though gcc 2.95 was better), so we'll stick
with a similar compiler throughout the 7.x series. Keeping 2.95 all the
time wouldn't do much to increase binary compatibility when everyone else
starts updating.

> And the next gcc release will be worse, so where is the logic behind
> choosing a compiler not compatibly to ANYTHING, except if trying to force
> customers to stick to redhat?

It was a purely technical decision, made by the compiler engineers at
Cygnus and our development.

We wanted ia64 support (using 2 different compilers for the 7.0 release,
just on different architectures, wouldn't be nice), the new ia32 backend,
as well as the more complete C++ implementation and ISO C99 compliance.

We don't want to stick with 2.95 for the next year or two, so this was the
only way to go.

> gcc-2.96 (remember that this thing is not precisely defined as no such
> release exists) produces worse code,

So the new ia32 backend isn't better than the old one? Why? And if the old
one was so much better, why was it replaced?

> It would be better than a world where I cannot switch to another
> distribution because vendors only support redhat and the binaries will not
> run on the "competitors" linux' distros, forcing me to use redhat binutils,
> redhat gcc, redhat libc and so on.

Either link statically to libstdc++ (c++ is the only part of the
compiler which is not fully ABI compatible), or just install the
libstdc++-3-libc6.2-2-2.10.0.so file from Red Hat Linux, possibly even to
a different directory with LD_PRELOAD or the likes set. This won't break
anything.

> Well, if redhat really tried to do this they failed miserably. OTOH, maybe
> the redhat people doing that were drugged, because every child could
> deduce that using an experimental snapshot that is has a non-fixed and
> changing ABI will not help binary compatibility.

When the decision was made (and I still think it was the right decision -
especially because of ia64 compatibility), there was still some hope that
gcc 2.96 would be ready by release time.

If it's of any help, I can put up all potentially incompatible libraries
as a plain tarfile somewhere, along with detailed instructions on how to
use them for compatibility on other systems. Breaking compatibility has
never been one of our intentions.

LLaP
bero

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Fri, 29 Sep 2000, David M. Rector wrote:

 Has anyone tried Redhat 7.0 yet?

Sure...

 What a mess.

Not quite...

 1) It would not compile stock kernels out of the box. (ends at
 compress.S) with a fatal error.

Either use the kernel compiler (kgcc) or patch the file to be compatible
with newer gccs.

 2) Trying to compile the kernel source for 2.2.16 that comes with the
 redhat disk (which is very different than the stock 2.2.16) causes my
 system come to a screeching halt, no messages, no errors, crashed solid.

I can't reproduce this... Do you get any helpful info from SysRq? Anything
in syslog?

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: What is up with Redhat 7.0?

2000-09-30 Thread Bernhard Rosenkraenzer

On Fri, 29 Sep 2000, Alec Smith wrote:

 Congratulations, you got further than I did. I couldn't even get that
 disaster known as RH7.0 to even install. It died with some error about not
 being able to detect free disk space after formatting the paritions...

Please report this at http://bugzilla.redhat.com/bugzilla, along with
details about your hardware - we didn't see this on any of our test
machines, and neither did our beta testers.

LLaP
bero


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/