1. 01 2月, 2008 2 次提交
  2. 16 10月, 2007 2 次提交
    • I
      [ALSA] fix bootup crash in snd_gus_interrupt() · c2cbdbb1
      Ingo Molnar 提交于
      when simulating a storm of fake GUS interrupts (without actually owning
      this venerable piece of ISA hardware) the driver falls over (crashes) in
      two ways:
      1) spinlocks being initialized too late:
      INFO: trying to register non-static key.
      the code is fine but needs lockdep annotation.
      turning off the locking correctness validator.
       [<401058ca>] show_trace_log_lvl+0x1a/0x30
       [<401064b2>] show_trace+0x12/0x20
       [<401064d6>] dump_stack+0x16/0x20
       [<4014a72b>] __lock_acquire+0xcfb/0x1030
       [<4014aac0>] lock_acquire+0x60/0x80
       [<40721a68>] _spin_lock_irqsave+0x38/0x50
       [<4058fc12>] snd_gf1_i_look8+0x22/0x60
       [<405906fe>] snd_gus_interrupt+0x13e/0x270
       [<401548e8>] handle_IRQ_event+0x28/0x60
       [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
       [<40107238>] do_IRQ+0x48/0xa0
       [<401051fe>] common_interrupt+0x2e/0x40
       [<40156822>] register_handler_proc+0x92/0xf0
       [<401550c2>] setup_irq+0xe2/0x190
       [<40155224>] request_irq+0xb4/0xd0
       [<4058f524>] snd_gus_create+0x124/0x3c0
       [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
       [<403f5eff>] isa_bus_probe+0x1f/0x30
       [<403f1944>] driver_probe_device+0x84/0x190
       [<403f1a58>] __device_attach+0x8/0x10
       [<403f0e63>] bus_for_each_drv+0x53/0x80
       [<403f1b1b>] device_attach+0x8b/0x90
       [<403f0dd8>] bus_attach_device+0x48/0x80
       [<403efdbd>] device_add+0x45d/0x5a0
       [<403eff12>] device_register+0x12/0x20
       [<403f60c3>] isa_register_driver+0xb3/0x140
       [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
       [<40a665c3>] kernel_init+0x133/0x310
       [<401054a7>] kernel_thread_helper+0x7/0x10
       =======================
      2) callback functions not being filled in yet:
      BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
       printing eip:
      00000000
      *pde = 00000000
      Oops: 0000 [#1]
      SMP DEBUG_PAGEALLOC
      CPU:    0
      EIP:    0060:[<00000000>]    Not tainted VLI
      EFLAGS: 00010002   (2.6.23 #37)
      EIP is at 0x0
      eax: 7fe94000   ebx: 7fe94000   ecx: 00000000   edx: 00000226
      esi: 00000000   edi: 00000005   ebp: 7ff87c28   esp: 7ff87bf4
      ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
      Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000)
      Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000
             000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000
             40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000
      Call Trace:
       [<401058ca>] show_trace_log_lvl+0x1a/0x30
       [<4010598b>] show_stack_log_lvl+0xab/0xd0
       [<40105b7c>] show_registers+0x1cc/0x2d0
       [<40105d96>] die+0x116/0x240
       [<4011d7bb>] do_page_fault+0x18b/0x670
       [<40721d22>] error_code+0x72/0x80
       [<401548e8>] handle_IRQ_event+0x28/0x60
       [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
       [<40107238>] do_IRQ+0x48/0xa0
       [<401051fe>] common_interrupt+0x2e/0x40
       [<401a344e>] proc_create+0x3e/0x120
       [<401a3733>] proc_mkdir_mode+0x23/0x50
       [<401a376f>] proc_mkdir+0xf/0x20
       [<40156864>] register_handler_proc+0xd4/0xf0
       [<401550c2>] setup_irq+0xe2/0x190
       [<40155224>] request_irq+0xb4/0xd0
       [<4058f524>] snd_gus_create+0x124/0x3c0
       [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
       [<403f5eff>] isa_bus_probe+0x1f/0x30
       [<403f1944>] driver_probe_device+0x84/0x190
       [<403f1a58>] __device_attach+0x8/0x10
       [<403f0e63>] bus_for_each_drv+0x53/0x80
       [<403f1b1b>] device_attach+0x8b/0x90
       [<403f0dd8>] bus_attach_device+0x48/0x80
       [<403efdbd>] device_add+0x45d/0x5a0
       [<403eff12>] device_register+0x12/0x20
       [<403f60c3>] isa_register_driver+0xb3/0x140
       [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
       [<40a665c3>] kernel_init+0x133/0x310
       [<401054a7>] kernel_thread_helper+0x7/0x10
       =======================
      Code:  Bad EIP value.
      EIP: [<00000000>] 0x0 SS:ESP 0068:7ff87bf4
      Kernel panic - not syncing: Fatal exception in interrupt
      with these things fixed, i get the expected 'no such hardware' result
      from the driver initialization:
       Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20()
       ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff
       initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0.
       initcall 0x40aa3dc0 ran for 133 msecs:
       alsa_card_gusclassic_init+0x0/0x20()
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NJaroslav Kysela <perex@perex.cz>
      c2cbdbb1
    • J
  3. 09 2月, 2007 1 次提交
  4. 03 7月, 2006 1 次提交
  5. 22 3月, 2006 1 次提交
  6. 03 1月, 2006 1 次提交
  7. 04 11月, 2005 2 次提交
  8. 12 9月, 2005 1 次提交
  9. 28 7月, 2005 1 次提交
  10. 29 5月, 2005 1 次提交
    • A
      [ALSA] sound/isa/: cleanups · 209ac85d
      Adrian Bunk 提交于
      GUS Library
      This patch contains the following possible cleanups:
      - make needlesly global code static
      - #if 0 the following unused global functions:
        - gus/gus_volume.c: snd_gf1_gvol_to_lvol_raw
        - gus/gus_volume.c: snd_gf1_calc_ramp_rate
        - gus/gus_volume.c: snd_gf1_compute_vibrato
        - gus/gus_volume.c: snd_gf1_compute_pitchbend
        - gus/gus_volume.c: snd_gf1_compute_freq
        - gus/gus_io.c: snd_gf1_i_adlib_write
        - gus/gus_io.c: snd_gf1_i_write_addr
        - gus/gus_io.c: snd_gf1_pokew
        - gus/gus_io.c: snd_gf1_peekw
        - gus/gus_io.c: snd_gf1_dram_setmem
        - gus/gus_io.c: snd_gf1_print_global_registers
        - gus/gus_io.c: snd_gf1_print_setup_registers
        - gus/gus_io.c: snd_gf1_peek_print_block
        - gus/gus_io.c: snd_gf1_print_setup_registers
        - gus/gus_io.c: snd_gf1_peek_print_block
      - #if 0 the following unused global variable:
        - gus/gus_tables.h: snd_gf1_scale_table
      - remove the following unneeded EXPORT_SYMBOL's:
        - gus/gus_main.c: snd_gf1_i_write16
        - gus/gus_main.c: snd_gf1_start
        - gus/gus_main.c: snd_gf1_stop
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      209ac85d
  11. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4