Skip to content
  1. Aug 08, 2009
  2. Aug 07, 2009
  3. Aug 06, 2009
    • Robert Richter's avatar
      ring-buffer: Fix advance of reader in rb_buffer_peek() · 469535a5
      Robert Richter authored
      
      
      When calling rb_buffer_peek() from ring_buffer_consume() and a
      padding event is returned, the function rb_advance_reader() is
      called twice. This may lead to missing samples or under high
      workloads to the warning below. This patch fixes this. If a padding
      event is returned by rb_buffer_peek() it will be consumed by the
      calling function now.
      
      Also, I simplified some code in ring_buffer_consume().
      
      ------------[ cut here ]------------
      WARNING: at /dev/shm/.source/linux/kernel/trace/ring_buffer.c:2289 rb_advance_reader+0x2e/0xc5()
      Hardware name: Anaheim
      Modules linked in:
      Pid: 29, comm: events/2 Tainted: G        W  2.6.31-rc3-oprofile-x86_64-standard-00059-g5050dc2 #1
      Call Trace:
      [<ffffffff8106776f>] ? rb_advance_reader+0x2e/0xc5
      [<ffffffff81039ffe>] warn_slowpath_common+0x77/0x8f
      [<ffffffff8103a025>] warn_slowpath_null+0xf/0x11
      [<ffffffff8106776f>] rb_advance_reader+0x2e/0xc5
      [<ffffffff81068bda>] ring_buffer_consume+0xa0/0xd2
      [<ffffffff81326933>] op_cpu_buffer_read_entry+0x21/0x9e
      [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165
      [<ffffffff8132749b>] sync_buffer+0xa5/0x401
      [<ffffffff810be3af>] ? __find_get_block+0x4b/0x165
      [<ffffffff81326c1b>] ? wq_sync_buffer+0x0/0x78
      [<ffffffff81326c76>] wq_sync_buffer+0x5b/0x78
      [<ffffffff8104aa30>] worker_thread+0x113/0x1ac
      [<ffffffff8104dd95>] ? autoremove_wake_function+0x0/0x38
      [<ffffffff8104a91d>] ? worker_thread+0x0/0x1ac
      [<ffffffff8104dc9a>] kthread+0x88/0x92
      [<ffffffff8100bdba>] child_rip+0xa/0x20
      [<ffffffff8104dc12>] ? kthread+0x0/0x92
      [<ffffffff8100bdb0>] ? child_rip+0x0/0x20
      ---[ end trace f561c0a58fcc89bd ]---
      
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarRobert Richter <robert.richter@amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      469535a5
    • Steven Rostedt's avatar
      tracing: do not use functions starting with .L in recordmcount.pl · 3f6e968e
      Steven Rostedt authored
      
      
      On Wed, 5 Aug 2009, Ingo Molnar wrote:
      > * Dave Airlie <airlied@gmail.com> wrote:
      >
      > > Hey,
      > >
      > > So I spent 3-4 hrs today (I'm stupid yes) tracking down a .o
      > > breakage by blaming rawhide gcc/binutils as I was using make
      > > V=1and seeing only the compiler chain running,
      >
      > Hm, is this that powerpc related build bug you just reported?
      
      Well we tracked it down and it is powerpc64 specific.
      
      Seems that in drivers/hwmon/lm93.c there's a function called:
      
         LM93_IN_FROM_REG()
      
      But PPC64 has function descriptors and the real function names (the ones
      you see in objdump) start with a '.'. Thus this in objdump you have:
      
       Disassembly of section .text:
      
       0000000000000000 <.LM93_IN_FROM_REG>:
             0:       7c 08 02 a6     mflr    r0
             4:       fb 81 ff e0     std     r28,-32(r1)
      
      The function name used is .LM93_IN_FROM_REG. But gcc considers symbols
      that start with ".L" as a special symbol that is used inside the assembly
      stage.
      
      The nm passed into recordmcount uses the --synthetic option which shows
      the ".L" symbols (my runs outside of the build did not include the
      --synthetic option, so my older patch worked). We see the function as a
      local.
      
      Now to capture all the locations that use "mcount" we need to have a
      reference to link into the object file a list of mcount callers. We need a
      reference that will not disappear. We try to use a global function and if
      that does not work, we use a local function as a reference. But to relink
      the section back into the object, we need to make it global. In this case,
      we run objcopy using --globalize-symbol and --localize-symbol to convert
      the symbol into a global symbol, link the mcount list, then convert it
      back to a local symbol.
      
      This works great except for this case. .L* symbols can not be converted
      into a global symbol, and the mcount section referencing it will remain
      unresolved.
      
      Reported-by: default avatarDave Airlie <airlied@gmail.com>
      LKML-Reference: <alpine.DEB.2.00.0908052011590.5010@gandalf.stny.rr.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      3f6e968e
    • Steven Rostedt's avatar
      ring-buffer: do not disable ring buffer on oops_in_progress · 464e85eb
      Steven Rostedt authored
      The commit:
      
        commit e0fdace1
      
      
        Author: David Miller <davem@davemloft.net>
        Date:   Fri Aug 1 01:11:22 2008 -0700
      
          debug_locks: set oops_in_progress if we will log messages.
      
          Otherwise lock debugging messages on runqueue locks can deadlock the
          system due to the wakeups performed by printk().
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      
      Will permanently set oops_in_progress on any lockdep failure.
      When this triggers it will cause any read from the ring buffer to
      permanently disable the ring buffer (not to mention no locking of
      printk).
      
      This patch removes the check. It keeps the print in NMI which makes
      sense. This is probably OK, since the ring buffer should not cause
      something to set oops_in_progress anyway.
      
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      464e85eb
    • Steven Rostedt's avatar
      ring-buffer: fix check of try_to_discard result · 0f2541d2
      Steven Rostedt authored
      
      
      The function ring_buffer_discard_commit inversed the code path
      of the result of try_to_discard. It should skip incrementing the
      entry counter if try_to_discard succeeded. But instead, it increments
      the entry conder if it succeeded to discard, and does not increment
      it if it fails.
      
      The result of this bug is that filtering will make the stat counters
      incorrect.
      
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      0f2541d2
  4. Aug 04, 2009
  5. Jul 29, 2009
    • Lai Jiangshan's avatar
      tracing: Fix missing function_graph events when we splice_read from trace_pipe · 74e7ff8c
      Lai Jiangshan authored
      
      
      About a half events are missing when we splice_read
      from trace_pipe. They are unexpectedly consumed because we ignore
      the TRACE_TYPE_NO_CONSUME return value used by the function graph
      tracer when it needs to consume the events by itself to walk on
      the ring buffer.
      
      The same problem appears with ftrace_dump()
      
      Example of an output before this patch:
      
      1)               |      ktime_get_real() {
      1)   2.846 us    |          read_hpet();
      1)   4.558 us    |        }
      1)   6.195 us    |      }
      
      After this patch:
      
      0)               |      ktime_get_real() {
      0)               |        getnstimeofday() {
      0)   1.960 us    |          read_hpet();
      0)   3.597 us    |        }
      0)   5.196 us    |      }
      
      The fix also applies on 2.6.30
      
      Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: stable@kernel.org
      LKML-Reference: <4A6EEC52.90704@cn.fujitsu.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      74e7ff8c
    • Lai Jiangshan's avatar
      tracing: Fix invalid function_graph entry · 38ceb592
      Lai Jiangshan authored
      
      
      When print_graph_entry() computes a function call entry event, it needs
      to also check the next entry to guess if it matches the return event of
      the current function entry.
      In order to look at this next event, it needs to consume the current
      entry before going ahead in the ring buffer.
      
      However, if the current event that gets consumed is the last one in the
      ring buffer head page, the ring_buffer may reuse the page for writers.
      The consumed entry will then become invalid because of possible
      racy overwriting.
      
      Me must then handle this entry by making a copy of it.
      
      The fix also applies on 2.6.30
      
      Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: stable@kernel.org
      LKML-Reference: <4A6EEAEC.3050508@cn.fujitsu.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      38ceb592
  6. Jul 28, 2009
    • Benjamin Herrenschmidt's avatar
      mm: Remove duplicate definitions in MIPS and SH · 4733fd32
      Benjamin Herrenschmidt authored
      
      
      Those definitions are already provided by asm-generic
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4733fd32
    • Alan Cox's avatar
      usb_serial: Fix remaining ref count/lock bugs · c56d3000
      Alan Cox authored
      This fixes
      - locking bug that was hidden by ecc2e05e
      
      
      - Regression #13821
      - Spurious warning when closing and blocking for data write out
      
      With these changes my PL2303 always ends up as ttyUSB0 when it should and
      the module refcounts stay correct.
      
      I'll do a more wholesale split & tidy of _open in the next release or two
      as we get a standard tty_port_open and port->ops->init port->ops->shutdown
      call backs.
      
      Copy sent to Alan Stern and Carlos Mafra just to confirm it fixes all the
      reports but it passes local testing with the same hardware as Alan Stern.
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c56d3000
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify · fc013a58
      Linus Torvalds authored
      * 'for-linus' of git://git.infradead.org/users/eparis/notify:
        inotify: use GFP_NOFS under potential memory pressure
        fsnotify: fix inotify tail drop check with path entries
        inotify: check filename before dropping repeat events
        fsnotify: use def_bool in kconfig instead of letting the user choose
        inotify: fix error paths in inotify_update_watch
        inotify: do not leak inode marks in inotify_add_watch
        inotify: drop user watch count when a watch is removed
      fc013a58
    • Alan Cox's avatar
      pty: quickfix for the pty ENXIO timing problems · 3a542974
      Alan Cox authored
      
      
      This also makes close stall in the normal case which is apparently
      needed to fix emacs
      
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3a542974
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · f1462147
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)
        cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.
        net: irda: init spinlock after memcpy
        ixgbe: fix for 82599 errata marking UDP checksum errors
        r8169: WakeOnLan fix for the 8168
        netxen: reset ring consumer during cleanup
        net/bridge: use kobject_put to release kobject in br_add_if error path
        smc91x.h: add config for Nomadik evaluation kit
        NET: ROSE: Don't use static buffer.
        eepro: Read buffer overflow
        tokenring: Read buffer overflow
        at1700: Read buffer overflow
        fealnx: Write outside array bounds
        ixgbe: remove unnecessary call to device_init_wakeup
        ixgbe: Don't priority tag control frames in DCB mode
        ixgbe: Enable FCoE offload when DCB is enabled for 82599
        net: Rework mdio-ofgpio driver to use of_mdio infrastructure
        register at91_ether using platform_driver_probe
        skge: Enable WoL by default if supported
        net: KS8851 needs to depend on MII
        be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly.
        ...
      f1462147
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · e00b95de
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: read the right F2 maskoffset reg
      e00b95de
    • Alan Cox's avatar
      tty: Fix a USB serial crash/scribble · b68f2fb9
      Alan Cox authored
      
      
      The port lock is used to protect the port state. However the port structure
      is freed on a hangup, then the lock taken on a close. The right fix is to
      drop the port on tty->shutdown() but we can't yet do that due to sleep v
      non-sleeping rules. Instead do the next best thing and fix it up when we are
      not in -rc season.
      
      Reported-by: default avatarDaniel Mack <daniel@caiaq.de>
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Tested-by: default avatarDaniel Mack <daniel@caiaq.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b68f2fb9
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze · 6a31d4ae
      Linus Torvalds authored
      * 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Makefile cleanup
        microblaze: Typo fix for cpu param inconsistency
        microblaze: Add support for R_MICROBLAZE_64_NONE
        microblaze: Get module loading working
        microblaze: remove sys_ipc
        microblaze: Support unaligned address for put/get_user macros
        microblaze: Detect new Microblaze 7.20 versions
        microblaze: Fix do_page_fault for no context
        microblaze: Add _PAGE_FILE macros to pgtable.h
        microblaze: Fix put_user macro for 64bits arguments
        microblaze: Clear print messages for DTB passing via r7
        microblaze: Not to clear r7 after copying DTB to kernel
        microblaze: Add messages about FDT blob
        microblaze: Final support for statically linked DTB
        microblaze: remove duplicated #include
        microblaze: Define tlb_flush macro
      6a31d4ae
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · ca597a02
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: geode: Mark mfgpt irq IRQF_TIMER to prevent resume failure
        x86, amd: Don't probe for extended APIC ID if APICs are disabled
        x86, mce: Rename incorrect macro name "CONFIG_X86_THRESHOLD"
        x86-64: Fix bad_srat() to clear all state
        x86, mce: Fix set_trigger() accessor
        x86: Fix movq immediate operand constraints in uaccess.h
        x86: Fix movq immediate operand constraints in uaccess_64.h
        x86: Add reboot fixup for SBC-fitPC2
        x86: Include all of .data.* sections in _edata on 64-bit
        x86: Add quirk for Intel DG45ID board to avoid low memory corruption
      ca597a02
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · b54c3835
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Fix mute control with some ALC262 models
        ALSA: snd_usb_caiaq: add support for Audio2DJ
        ALSA: pcm - Fix hwptr buffer-size overlap bug
        ALSA: pcm - Fix warnings in debug loggings
        ALSA: pcm - Add logging of hwptr updates and interrupt updates
        ASoC: tlv320aic3x: Enable PLL when not bypassed
        ALSA: hda - Restore GPIO1 properly at resume with AD1984A
        ALSA: ctxfi - Fix uninitialized error checks
        ALSA: hda - Use snprintf() to be safer
        ALSA: usb-audio - Volume control quirk for QuickCam E 3500
        ALSA: pcm - Fix regressions with VMware
      b54c3835
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 04fc0a40
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits)
        V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro
        V4L/DVB (12302): cx23885-417: fix broken IOCTL handling
        V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner
        V4L/DVB (12291): b2c2: fix frontends compiled into kernel
        V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers
        V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header).
        V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges.
        V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register.
        V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app
        V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors.
        V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1)
        V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e
        V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used
        V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support
        V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
        V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB
        V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant)
        V4L/DVB (12245): em28xx: add support for mt9m001 webcams
        V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format
        V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency
        ...
      04fc0a40
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 760dcc6e
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] zcrypt: fix scheduling of hrtimer ap_poll_timer
        [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on
        [S390] vdso: fix per cpu area allocation
        [S390] hibernation: fix register corruption on machine checks
        [S390] hibernation: fix lowcore handling
      760dcc6e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm · 4897f101
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
        dm table: pass correct dev area size to device_area_is_valid
        dm: remove queue next_ordered workaround for barriers
        dm raid1: wake kmirrord when requeueing delayed bios after remote recovery
      4897f101
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 · a9355cf8
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
        jfs: Fix early release of acl in jfs_get_acl
      a9355cf8
    • Oleg Nesterov's avatar
      update the comment in kthread_stop() · 9ae26027
      Oleg Nesterov authored
      Commit 63706172
      
       ("kthreads: rework
      kthread_stop()") removed the limitation that the thread function mysr
      not call do_exit() itself, but forgot to update the comment.
      
      Since that commit it is OK to use kthread_stop() even if kthread can
      exit itself.
      
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ae26027
    • Mike Frysinger's avatar
      module: use MODULE_SYMBOL_PREFIX with module_layout · 6560dc16
      Mike Frysinger authored
      
      
      The check_modstruct_version() needs to look up the symbol "module_layout"
      in the kernel, but it does so literally and not by a C identifier.  The
      trouble is that it does not include a symbol prefix for those ports that
      need it (like the Blackfin and H8300 port).  So make sure we tack on the
      MODULE_SYMBOL_PREFIX define to the front of it.
      
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6560dc16
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 · 2bc20d09
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
        jbd: fix race between write_metadata_buffer and get_write_access
        ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()
        jbd: Fix a race between checkpointing code and journal_get_write_access()
        ext3: Fix truncation of symlinks after failed write
        jbd: Fail to load a journal if it is too short
      2bc20d09
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · c7425eb4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        [CIFS] fix sparse warning
        cifs: fix sb->s_maxbytes so that it casts properly to a signed value
        cifs: disable serverino if server doesn't support it
      c7425eb4
    • Benjamin Herrenschmidt's avatar
      mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() · 9e1b32ca
      Benjamin Herrenschmidt authored
      
      
      mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()
      
      Upcoming paches to support the new 64-bit "BookE" powerpc architecture
      will need to have the virtual address corresponding to PTE page when
      freeing it, due to the way the HW table walker works.
      
      Basically, the TLB can be loaded with "large" pages that cover the whole
      virtual space (well, sort-of, half of it actually) represented by a PTE
      page, and which contain an "indirect" bit indicating that this TLB entry
      RPN points to an array of PTEs from which the TLB can then create direct
      entries. Thus, in order to invalidate those when PTE pages are deleted,
      we need the virtual address to pass to tlbilx or tlbivax instructions.
      
      The old trick of sticking it somewhere in the PTE page struct page sucks
      too much, the address is almost readily available in all call sites and
      almost everybody implemets these as macros, so we may as well add the
      argument everywhere. I added it to the pmd and pud variants for consistency.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: David Howells <dhowells@redhat.com> [MN10300 & FRV]
      Acked-by: default avatarNick Piggin <npiggin@suse.de>
      Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> [s390]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9e1b32ca
    • Michael Chan's avatar
      cnic: Fix ISCSI_KEVENT_IF_DOWN message handling. · 6d7760a8
      Michael Chan authored
      
      
      When a net device goes down or when the bnx2i driver is unloaded,
      the code was not generating the ISCSI_KEVENT_IF_DOWN message
      properly and this could cause the userspace driver to crash.
      
      This is fixed by sending the message properly in the shutdown path.
      cnic_uio_stop() is also added to send the message when bnx2i is
      unregistering.
      
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d7760a8
    • Deepak Saxena's avatar
      net: irda: init spinlock after memcpy · 0cbb0a78
      Deepak Saxena authored
      
      
      irttp_dup() copies a tsap_cb struct, but does not initialize the
      spinlock in the new structure, which confuses lockdep.
      
      Signed-off-by: default avatarDeepak Saxena <dsaxena@mvista.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0cbb0a78
  7. Jul 27, 2009