1. 26 3月, 2011 1 次提交
  2. 25 3月, 2011 5 次提交
  3. 24 3月, 2011 34 次提交
    • A
      UBI: use GFP_NOFS properly · 3d46b316
      Artem Bityutskiy 提交于
      This patch fixes a brown-paperbag bug which was introduced by me:
      I used incorrect "GFP_KERNEL | GFP_NOFS" allocation flags to make
      sure my allocations do not cause write-back. But the correct form
      is "GFP_NOFS".
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      3d46b316
    • D
      drm/vblank: update recently added vbl interface to be more future proof. · 51eab416
      Dave Airlie 提交于
      This makes the interface a bit cleaner by leaving a single gap in the
      vblank bit space instead of creating two gaps.
      
      Suggestions from Michel on mailing list/irc.
      Reviewed-by: NMichel Dänzer <michel@daenzer.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      51eab416
    • T
      drm radeon: Return -EINVAL on wrong pm sysfs access · 1783e4bf
      Thomas Renninger 提交于
      Throw an error if someone tries to fill this with
      wrong data, instead of simply ignoring the input.
      Now you get:
      
      echo hello >/sys/../power_method
      -bash: echo: write error: Invalid argument
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      CC: Alexander.Deucher@amd.com
      CC: dri-devel@lists.freedesktop.org
      Reviewed-by: NAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1783e4bf
    • A
      drm/radeon/kms: fix hardcoded EDID handling · fafcf94e
      Alex Deucher 提交于
      On some servers there is a hardcoded EDID provided
      in the vbios so that the driver will always see a
      display connected even if something like a KVM
      prevents traditional means like DDC or load
      detection from working properly.  Also most
      server boards with DVI are not actually DVI, but
      DVO connected to a virtual KVM service processor.
      If we fail to detect a monitor via DDC or load
      detection and a hardcoded EDID is available, use
      it.
      
      Additionally, when using the hardcoded EDID, use
      a copy of it rather than the actual one stored
      in the driver as the detect() and get_modes()
      functions may free it if DDC is successful.
      
      This fixes the virtual KVM on several internal
      servers.
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      fafcf94e
    • C
      Revert "drm/i915: Don't save/restore hardware status page address register" · f0c86024
      Chris Wilson 提交于
      This reverts commit a7a75c8f.
      
      There are two different variations on how Intel hardware addresses the
      "Hardware Status Page". One as a location in physical memory and the
      other as an offset into the virtual memory of the GPU, used in more
      recent chipsets. (The HWS itself is a cacheable region of memory which
      the GPU can write to without requiring CPU synchronisation, used for
      updating various details of hardware state, such as the position of
      the GPU head in the ringbuffer, the last breadcrumb seqno, etc).
      
      These two types of addresses were updated in different locations of code
      - one inline with the ringbuffer initialisation, and the other during
      device initialisation. (The HWS page is logically associated with
      the rings, and there is one HWS page per ring.) During resume, only the
      ringbuffers were being re-initialised along with the virtual HWS page,
      leaving the older physical address HWS untouched. This then caused a
      hang on the older gen3/4 (915GM, 945GM, 965GM) the first time we tried
      to synchronise the GPU as the breadcrumbs were never being updated.
      Reported-and-tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: NJan Niehusmann <jan@gondor.com>
      Reported-and-tested-by: NJustin P. Mattock <justinmattock@gmail.com>
      Reported-and-tested-by: NMichael "brot" Groh <brot@minad.de>
      Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Acked-by: NZhenyu Wang <zhenyuw@linux.intel.com>
      f0c86024
    • P
      spi/pl022: Add loopback support for the SPI on 5500 · 06fb01fd
      Philippe Langlais 提交于
      Extend the vendor data with a loopback field, and add new
      amba-pl022 vendor data for the DB5500 pl023, as the pl023
      on db8500 and db5500 vary.
      Signed-off-by: NPrajadevi H <prajadevi.h@stericsson.com>
      Signed-off-by: NPhilippe Langlais <philippe.langlais@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      06fb01fd
    • S
      userns: security: make capabilities relative to the user namespace · 3486740a
      Serge E. Hallyn 提交于
      - Introduce ns_capable to test for a capability in a non-default
        user namespace.
      - Teach cap_capable to handle capabilities in a non-default
        user namespace.
      
      The motivation is to get to the unprivileged creation of new
      namespaces.  It looks like this gets us 90% of the way there, with
      only potential uid confusion issues left.
      
      I still need to handle getting all caps after creation but otherwise I
      think I have a good starter patch that achieves all of your goals.
      
      Changelog:
      	11/05/2010: [serge] add apparmor
      	12/14/2010: [serge] fix capabilities to created user namespaces
      	Without this, if user serge creates a user_ns, he won't have
      	capabilities to the user_ns he created.  THis is because we
      	were first checking whether his effective caps had the caps
      	he needed and returning -EPERM if not, and THEN checking whether
      	he was the creator.  Reverse those checks.
      	12/16/2010: [serge] security_real_capable needs ns argument in !security case
      	01/11/2011: [serge] add task_ns_capable helper
      	01/11/2011: [serge] add nsown_capable() helper per Bastian Blank suggestion
      	02/16/2011: [serge] fix a logic bug: the root user is always creator of
      		    init_user_ns, but should not always have capabilities to
      		    it!  Fix the check in cap_capable().
      	02/21/2011: Add the required user_ns parameter to security_capable,
      		    fixing a compile failure.
      	02/23/2011: Convert some macros to functions as per akpm comments.  Some
      		    couldn't be converted because we can't easily forward-declare
      		    them (they are inline if !SECURITY, extern if SECURITY).  Add
      		    a current_user_ns function so we can use it in capability.h
      		    without #including cred.h.  Move all forward declarations
      		    together to the top of the #ifdef __KERNEL__ section, and use
      		    kernel-doc format.
      	02/23/2011: Per dhowells, clean up comment in cap_capable().
      	02/23/2011: Per akpm, remove unreachable 'return -EPERM' in cap_capable.
      
      (Original written and signed off by Eric;  latest, modified version
      acked by him)
      
      [akpm@linux-foundation.org: fix build]
      [akpm@linux-foundation.org: export current_user_ns() for ecryptfs]
      [serge.hallyn@canonical.com: remove unneeded extra argument in selinux's task_has_capability]
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NSerge E. Hallyn <serge.hallyn@canonical.com>
      Acked-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Acked-by: NDaniel Lezcano <daniel.lezcano@free.fr>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Signed-off-by: NSerge E. Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3486740a
    • D
      rapidio: fix potential null deref on failure path · ad4ac17a
      Dan Carpenter 提交于
      If rio is not a switch then "rswitch" is null.
      Signed-off-by: NDan Carpenter <error27@gmail.com>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ad4ac17a
    • A
      rapidio: remove mport resource reservation from common RIO code · c1256ebe
      Alexandre Bounine 提交于
      Removes resource reservation from the common sybsystem initialization code
      and make it part of mport driver initialization.  This resolves conflict
      with resource reservation by device specific mport drivers.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c1256ebe
    • A
      rapidio: modify mport ID assignment · 569fccb6
      Alexandre Bounine 提交于
      Changes mport ID and host destination ID assignment to implement unified
      method common to all mport drivers.  Makes "riohdid=" kernel command line
      parameter common for all architectures with support for more that one host
      destination ID assignment.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      569fccb6
    • A
      rapidio: modify subsystem and driver initialization sequence · 2f809985
      Alexandre Bounine 提交于
      Subsystem initialization sequence modified to support presence of multiple
      RapidIO controllers in the system.  The new sequence is compatible with
      initialization of PCI devices.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f809985
    • A
      rapidio: modify configuration to support PCI-SRIO controller · 388b78ad
      Alexandre Bounine 提交于
      1. Add an option to include RapidIO support if the PCI is available.
      2. Add FSL_RIO configuration option to enable controller selection.
      3. Add RapidIO support option into x86 and MIPS architectures.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      388b78ad
    • A
      rapidio: add architecture specific callbacks · f8f06269
      Alexandre Bounine 提交于
      This set of patches eliminates RapidIO dependency on PowerPC architecture
      and makes it available to other architectures (x86 and MIPS).  It also
      enables support of new platform independent RapidIO controllers such as
      PCI-to-SRIO and PCI Express-to-SRIO.
      
      This patch:
      
      Extend number of mport callback functions to eliminate direct linking of
      architecture specific mport operations.
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f8f06269
    • A
      rapidio: add new sysfs attributes · cd8b974f
      Alexandre Bounine 提交于
      Add new sysfs attributes.
      
      1. Routing information required to to reach the RIO device:
      destid - device destination ID (real for for endpoint, route for switch)
      hopcount - hopcount for maintenance requests (switches only)
      
      2. device linking information:
      lprev - name of device that precedes the given device in the enumeration
              or discovery order (displayed along with of the port to which it
              is attached).
      lnext - names of devices (with corresponding port numbers) that are
              attached to the given device as next in the enumeration or
              discovery order (switches only)
      Signed-off-by: NAlexandre Bounine <alexandre.bounine@idt.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Matt Porter <mporter@kernel.crashing.org>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Thomas Moll <thomas.moll@sysgo.com>
      Cc: Micha Nelissen <micha@neli.hopto.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd8b974f
    • C
      drivers/char/mem.c: clean up the code · cfaf346c
      Changli Gao 提交于
      Reduce the lines of code and simplify the logic.
      Signed-off-by: NChangli Gao <xiaosuo@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cfaf346c
    • J
      drivers/staging/tty/specialix.c: convert func_enter to func_exit · 115bcd15
      Julia Lawall 提交于
      Convert calls to func_enter on leaving a function to func_exit.
      
      The semantic patch that fixes this problem is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      @@
      
      - func_enter();
      + func_exit();
        return...;
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Cc: Roger Wolff <R.E.Wolff@BitWizard.nl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      115bcd15
    • J
      drivers/tty/bfin_jtag_comm.c: avoid calling put_tty_driver on NULL · d9d691f5
      Julia Lawall 提交于
      put_tty_driver calls tty_driver_kref_put on its argument, and then
      tty_driver_kref_put calls kref_put on the address of a field of this
      argument.  kref_put checks for NULL, but in this case the field is likely
      to have some offset and so the result of taking its address will not be
      NULL.  Labels are added to be able to skip over the call to put_tty_driver
      when the argument will be NULL.
      
      The semantic match that finds this problem is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      expression *x;
      @@
      
      *if (x == NULL)
      { ...
      * put_tty_driver(x);
        ...
        return ...;
      }
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Cc: Torben Hohn <torbenh@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9d691f5
    • N
      drivers/char: add MSM smd_pkt driver · 73210a13
      Niranjana Vishwanathapura 提交于
      Add smd_pkt driver which provides device interface to smd packet ports.
      Signed-off-by: NNiranjana Vishwanathapura <nvishwan@codeaurora.org>
      Cc: Brian Swetland <swetland@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: David Brown <davidb@codeaurora.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      73210a13
    • S
      drivers/char/ipmi/ipmi_si_intf.c: fix cleanup_one_si section mismatch · 0dcf334c
      Sergey Senozhatsky 提交于
      commit d2478521 ("char/ipmi: fix OOPS caused by
      pnp_unregister_driver on unregistered driver") introduced a section
      mismatch by calling __exit cleanup_ipmi_si from __devinit init_ipmi_si.
      
      Remove __exit annotation from cleanup_ipmi_si.
      Signed-off-by: NSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Acked-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0dcf334c
    • A
      dm: use little-endian bitops · bb5cda3d
      Akinobu Mita 提交于
      As a preparation for removing ext2 non-atomic bit operations from
      asm/bitops.h.  This converts ext2 non-atomic bit operations to
      little-endian bit operations.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Alasdair Kergon <agk@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb5cda3d
    • A
      md: use little-endian bitops · 6b33aff3
      Akinobu Mita 提交于
      As a preparation for removing ext2 non-atomic bit operations from
      asm/bitops.h.  This converts ext2 non-atomic bit operations to
      little-endian bit operations.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Acked-by: NNeilBrown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6b33aff3
    • C
      Revert "drm/i915: Don't save/restore hardware status page address register" · 968b503e
      Chris Wilson 提交于
      This reverts commit a7a75c8f.
      
      There are two different variations on how Intel hardware addresses the
      "Hardware Status Page". One as a location in physical memory and the
      other as an offset into the virtual memory of the GPU, used in more
      recent chipsets. (The HWS itself is a cacheable region of memory which
      the GPU can write to without requiring CPU synchronisation, used for
      updating various details of hardware state, such as the position of
      the GPU head in the ringbuffer, the last breadcrumb seqno, etc).
      
      These two types of addresses were updated in different locations of code
      - one inline with the ringbuffer initialisation, and the other during
      device initialisation. (The HWS page is logically associated with
      the rings, and there is one HWS page per ring.) During resume, only the
      ringbuffers were being re-initialised along with the virtual HWS page,
      leaving the older physical address HWS untouched. This then caused a
      hang on the older gen3/4 (915GM, 945GM, 965GM) the first time we tried
      to synchronise the GPU as the breadcrumbs were never being updated.
      Reported-and-tested-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: NJan Niehusmann <jan@gondor.com>
      Reported-by: NJustin P. Mattock <justinmattock@gmail.com>
      Reported-and-tested-by: NMichael "brot" Groh <brot@minad.de>
      Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      968b503e
    • J
      spi/omap_mcspi: Fix broken last word xfer · 95c5c3ab
      Jarkko Nikula 提交于
      Commit adef658d "spi/omap_mcspi: catch xfers of non-multiple SPI word size"
      broke the transmission of last word in cases where access is multiple of
      word size and word size is 16 or 32 bits.
      
      Fix this by replacing the test "c > (word_len>>3)" in do-while loops with
      "c >= 'pointer increment size'". This ensures that the last word is
      transmitted in above case and still allow to break the loop and prevent
      variable c underflow in cases where word size != 'pointer increment size'.
      Signed-off-by: NJarkko Nikula <jhnikula@gmail.com>
      Tested-by: Sourav Poddar<sourav.poddar@ti.com>
      Acked-by: NMichael Jones <michael.jones@matrix-vision.de>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      95c5c3ab
    • A
      of/flattree: minor cleanups · a7006c97
      Andres Salomon 提交于
       - static-ize some functions
       - add some additional comments
      Signed-off-by: NAndres Salomon <dilinger@queued.net>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      a7006c97
    • G
      dt: eliminate OF_NO_DEEP_PROBE and test for NULL match table · 1eed4c07
      Grant Likely 提交于
      There are no users of OF_NO_DEEP_PROBE, and of_match_node() now
      gracefully handles being passed a NULL pointer, so the checks at the
      top of of_platform_bus_probe can be dropped.
      
      While at it, consolidate the root node pointer check to be easier to
      read and tidy up related comments.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      1eed4c07
    • G
      dt: protect against NULL matches passed to of_match_node() · a52f07ec
      Grant Likely 提交于
      There are a few use cases where it is convenient to pass NULL to
      of_match_node() and have it fail gracefully.  The patch adds a null
      check to the beginning so taht it does so.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      a52f07ec
    • G
      dt: Refactor of_platform_bus_probe() · 38e9e21d
      Grant Likely 提交于
      The current implementation uses three copies of of basically identical
      code.  This patch consolidates them to make the code simpler.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      38e9e21d
    • J
      USB: cdc-acm: fix potential null-pointer dereference on disconnect · 7e7797e7
      Johan Hovold 提交于
      Fix potential null-pointer exception on disconnect introduced by commit
      11ea859d (USB: additional power savings
      for cdc-acm devices that support remote wakeup).
      
      Only access acm->dev after making sure it is non-null in control urb
      completion handler.
      
      Cc: stable <stable@kernel.org>
      Signed-off-by: NJohan Hovold <jhovold@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7e7797e7
    • J
      USB: cdc-acm: fix potential null-pointer dereference · 15e5bee3
      Johan Hovold 提交于
      Must check return value of tty_port_tty_get.
      
      Cc: stable <stable@kernel.org>
      Signed-off-by: NJohan Hovold <jhovold@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      15e5bee3
    • J
      USB: cdc-acm: fix memory corruption / panic · 23b80550
      Johan Hovold 提交于
      Prevent read urbs from being resubmitted from tasklet after port close.
      
      The receive tasklet was not disabled on port close, which could lead to
      corruption of receive lists on consecutive port open. In particular,
      read urbs could be re-submitted before port open, added to free list in
      open, and then added a second time to the free list in the completion
      handler.
      
      cdc-acm.c: Entering acm_tty_open.
      cdc-acm.c: acm_control_msg: rq: 0x22 val: 0x3 len: 0x0 result: 0
      cdc-acm.c: Entering acm_rx_tasklet
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da280, rcv 0xf57fbc24, buf 0xf57fbd64
      cdc-acm.c: set line: 115200 0 0 8
      cdc-acm.c: acm_control_msg: rq: 0x20 val: 0x0 len: 0x7 result: 7
      cdc-acm.c: acm_tty_close
      cdc-acm.c: acm_port_down
      cdc-acm.c: acm_control_msg: rq: 0x22 val: 0x0 len: 0x0 result: 0
      cdc-acm.c: acm_ctrl_irq - urb shutting down with status: -2
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da300, rcv 0xf57fbc10, buf 0xf57fbd50
      cdc-acm.c: Entering acm_read_bulk with status -2
      cdc_acm 4-1:1.1: Aborting, acm not ready
      cdc-acm.c: Entering acm_read_bulk with status -2
      cdc_acm 4-1:1.1: Aborting, acm not ready
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da380, rcv 0xf57fbbfc, buf 0xf57fbd3c
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da400, rcv 0xf57fbbe8, buf 0xf57fbd28
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da480, rcv 0xf57fbbd4, buf 0xf57fbd14
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da900, rcv 0xf57fbbc0, buf 0xf57fbd00
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da980, rcv 0xf57fbbac, buf 0xf57fbcec
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50daa00, rcv 0xf57fbb98, buf 0xf57fbcd8
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50daa80, rcv 0xf57fbb84, buf 0xf57fbcc4
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dab00, rcv 0xf57fbb70, buf 0xf57fbcb0
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dab80, rcv 0xf57fbb5c, buf 0xf57fbc9c
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dac00, rcv 0xf57fbb48, buf 0xf57fbc88
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dac80, rcv 0xf57fbb34, buf 0xf57fbc74
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dad00, rcv 0xf57fbb20, buf 0xf57fbc60
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50dad80, rcv 0xf57fbb0c, buf 0xf57fbc4c
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da880, rcv 0xf57fbaf8, buf 0xf57fbc38
      cdc-acm.c: Entering acm_tty_open.
      cdc-acm.c: acm_control_msg: rq: 0x22 val: 0x3 len: 0x0 result: 0
      cdc-acm.c: Entering acm_rx_tasklet
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da280, rcv 0xf57fbc24, buf 0xf57fbd64
      cdc-acm.c: Entering acm_tty_write to write 3 bytes,
      cdc-acm.c: Get 3 bytes...
      cdc-acm.c: acm_write_start susp_count: 0
      cdc-acm.c: Entering acm_read_bulk with status 0
      ------------[ cut here ]------------
      WARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:57 list_del+0x10c/0x120()
      Hardware name: Vostro 1520
      list_del corruption. next->prev should be f57fbc10, but was f57fbaf8
      Modules linked in: cdc_acm
      Pid: 3, comm: ksoftirqd/0 Not tainted 2.6.37+ #39
      Call Trace:
       [<c103c7e2>] warn_slowpath_common+0x72/0xa0
       [<c11dd8ac>] ? list_del+0x10c/0x120
       [<c11dd8ac>] ? list_del+0x10c/0x120
       [<c103c8b3>] warn_slowpath_fmt+0x33/0x40
       [<c11dd8ac>] list_del+0x10c/0x120
       [<f8051dbf>] acm_rx_tasklet+0xef/0x3e0 [cdc_acm]
       [<c135465d>] ? net_rps_action_and_irq_enable+0x6d/0x80
       [<c1042bb6>] tasklet_action+0xe6/0x140
       [<c104342f>] __do_softirq+0xaf/0x210
       [<c1043380>] ? __do_softirq+0x0/0x210
       <IRQ>  [<c1042c9a>] ? run_ksoftirqd+0x8a/0x1c0
       [<c1042c10>] ? run_ksoftirqd+0x0/0x1c0
       [<c105ac24>] ? kthread+0x74/0x80
       [<c105abb0>] ? kthread+0x0/0x80
       [<c100337a>] ? kernel_thread_helper+0x6/0x10
      ---[ end trace efd9a11434f0082e ]---
      ------------[ cut here ]------------
      WARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:57 list_del+0x10c/0x120()
      Hardware name: Vostro 1520
      list_del corruption. next->prev should be f57fbd50, but was f57fbdb0
      Modules linked in: cdc_acm
      Pid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39
      Call Trace:
       [<c103c7e2>] warn_slowpath_common+0x72/0xa0
       [<c11dd8ac>] ? list_del+0x10c/0x120
       [<c11dd8ac>] ? list_del+0x10c/0x120
       [<c103c8b3>] warn_slowpath_fmt+0x33/0x40
       [<c11dd8ac>] list_del+0x10c/0x120
       [<f8051dd6>] acm_rx_tasklet+0x106/0x3e0 [cdc_acm]
       [<c135465d>] ? net_rps_action_and_irq_enable+0x6d/0x80
       [<c1042bb6>] tasklet_action+0xe6/0x140
       [<c104342f>] __do_softirq+0xaf/0x210
       [<c1043380>] ? __do_softirq+0x0/0x210
       <IRQ>  [<c1042c9a>] ? run_ksoftirqd+0x8a/0x1c0
       [<c1042c10>] ? run_ksoftirqd+0x0/0x1c0
       [<c105ac24>] ? kthread+0x74/0x80
       [<c105abb0>] ? kthread+0x0/0x80
       [<c100337a>] ? kernel_thread_helper+0x6/0x10
      ---[ end trace efd9a11434f0082f ]---
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da300, rcv 0xf57fbc10, buf 0xf57fbd50
      cdc-acm.c: disconnected from network
      cdc-acm.c: acm_rx_tasklet: sending urb 0xf50da380, rcv 0xf57fbbfc, buf 0xf57fbd3c
      cdc-acm.c: Entering acm_rx_tasklet
      ------------[ cut here ]------------
      WARNING: at /home/johan/src/linux/linux-2.6/lib/list_debug.c:48 list_del+0xd5/0x120()
      Hardware name: Vostro 1520
      list_del corruption, next is LIST_POISON1 (00100100)
      Modules linked in: cdc_acm
      Pid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39
      Call Trace:
       [<c103c7e2>] warn_slowpath_common+0x72/0xa0
       [<c11dd875>] ? list_del+0xd5/0x120
       [<c11dd875>] ? list_del+0xd5/0x120
       [<c103c8b3>] warn_slowpath_fmt+0x33/0x40
       [<c11dd875>] list_del+0xd5/0x120
       [<f8051fac>] acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]
       [<c106dbab>] ? trace_hardirqs_on+0xb/0x10
       [<c1042b30>] ? tasklet_action+0x60/0x140
       [<c1042bb6>] tasklet_action+0xe6/0x140
       [<c104342f>] __do_softirq+0xaf/0x210
       [<c1043380>] ? __do_softirq+0x0/0x210
       <IRQ>  [<c1042c9a>] ? run_ksoftirqd+0x8a/0x1c0
       [<c1042c10>] ? run_ksoftirqd+0x0/0x1c0
       [<c105ac24>] ? kthread+0x74/0x80
       [<c105abb0>] ? kthread+0x0/0x80
       [<c100337a>] ? kernel_thread_helper+0x6/0x10
      ---[ end trace efd9a11434f00830 ]---
      BUG: unable to handle kernel paging request at 00200200
      IP: [<c11dd7bd>] list_del+0x1d/0x120
      *pde = 00000000
      Oops: 0000 [#1] PREEMPT SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-1/4-1:1.0/tty/ttyACM0/uevent
      Modules linked in: cdc_acm
      Pid: 3, comm: ksoftirqd/0 Tainted: G        W   2.6.37+ #39 0T816J/Vostro 1520
      EIP: 0060:[<c11dd7bd>] EFLAGS: 00010046 CPU: 0
      EIP is at list_del+0x1d/0x120
      EAX: f57fbd3c EBX: f57fb800 ECX: ffff8000 EDX: 00200200
      ESI: f57fbe90 EDI: f57fbd3c EBP: f600bf54 ESP: f600bf3c
       DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
      Process ksoftirqd/0 (pid: 3, ti=f600a000 task=f60791c0 task.ti=f6082000)
      Stack:
       c1527e84 00000030 c1527e54 00100100 f57fb800 f57fbd3c f600bf98 f8051fac
       f8053104 f8052b94 f600bf6c c106dbab f600bf80 00000286 f60791c0 c1042b30
       f57fbda8 f57f5800 f57fbdb0 f57fbd80 f57fbe7c c1656b04 00000000 f600bfb0
      Call Trace:
       [<f8051fac>] ? acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]
       [<c106dbab>] ? trace_hardirqs_on+0xb/0x10
       [<c1042b30>] ? tasklet_action+0x60/0x140
       [<c1042bb6>] ? tasklet_action+0xe6/0x140
       [<c104342f>] ? __do_softirq+0xaf/0x210
       [<c1043380>] ? __do_softirq+0x0/0x210
       <IRQ>
       [<c1042c9a>] ? run_ksoftirqd+0x8a/0x1c0
       [<c1042c10>] ? run_ksoftirqd+0x0/0x1c0
       [<c105ac24>] ? kthread+0x74/0x80
       [<c105abb0>] ? kthread+0x0/0x80
       [<c100337a>] ? kernel_thread_helper+0x6/0x10
      Code: ff 48 14 e9 57 ff ff ff 90 90 90 90 90 90 55 89 e5 83 ec 18 81 38 00 01 10 00 0f 84 9c 00 00 00 8b 50 04 81 fa 00 02 20 00 74 33 <8b> 12 39 d0 75 5c 8b 10 8b 4a 04 39 c8 0f 85 b5 00 00 00 8b 48
      EIP: [<c11dd7bd>] list_del+0x1d/0x120 SS:ESP 0068:f600bf3c
      CR2: 0000000000200200
      ---[ end trace efd9a11434f00831 ]---
      Kernel panic - not syncing: Fatal exception in interrupt
      Pid: 3, comm: ksoftirqd/0 Tainted: G      D W   2.6.37+ #39
      Call Trace:
       [<c13fede1>] ? printk+0x1d/0x24
       [<c13fecce>] panic+0x66/0x15c
       [<c10067df>] oops_end+0x8f/0x90
       [<c1025476>] no_context+0xc6/0x160
       [<c10255a8>] __bad_area_nosemaphore+0x98/0x140
       [<c103cf68>] ? release_console_sem+0x1d8/0x210
       [<c1025667>] bad_area_nosemaphore+0x17/0x20
       [<c1025a49>] do_page_fault+0x279/0x420
       [<c1006a8f>] ? show_trace+0x1f/0x30
       [<c13fede1>] ? printk+0x1d/0x24
       [<c10257d0>] ? do_page_fault+0x0/0x420
       [<c140333b>] error_code+0x5f/0x64
       [<c103007b>] ? select_task_rq_fair+0x37b/0x6a0
       [<c10257d0>] ? do_page_fault+0x0/0x420
       [<c11dd7bd>] ? list_del+0x1d/0x120
       [<f8051fac>] acm_rx_tasklet+0x2dc/0x3e0 [cdc_acm]
       [<c106dbab>] ? trace_hardirqs_on+0xb/0x10
       [<c1042b30>] ? tasklet_action+0x60/0x140
       [<c1042bb6>] tasklet_action+0xe6/0x140
       [<c104342f>] __do_softirq+0xaf/0x210
       [<c1043380>] ? __do_softirq+0x0/0x210
       <IRQ>  [<c1042c9a>] ? run_ksoftirqd+0x8a/0x1c0
       [<c1042c10>] ? run_ksoftirqd+0x0/0x1c0
       [<c105ac24>] ? kthread+0x74/0x80
       [<c105abb0>] ? kthread+0x0/0x80
       [<c100337a>] ? kernel_thread_helper+0x6/0x10
      panic occurred, switching back to text console
      ------------[ cut here ]------------
      
      Cc: stable <stable@kernel.org>
      Signed-off-by: NJohan Hovold <jhovold@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      23b80550
    • R
      USB: Fix 'bad dma' problem on WDM device disconnect · 878b753e
      Robert Lukassen 提交于
      In the WDM class driver a disconnect event leads to calls to
      usb_free_coherent to put back two USB DMA buffers allocated earlier.
      The call to usb_free_coherent uses a different size parameter
      (desc->wMaxCommand) than the corresponding call to usb_alloc_coherent
      (desc->bMaxPacketSize0).
      
      When a disconnect event occurs, this leads to 'bad dma' complaints
      from usb core because the USB DMA buffer is being pushed back to the
      'buffer-2048' pool from which it has not been allocated.
      
      This patch against the most recent linux-2.6 kernel ensures that the
      parameters used by usb_alloc_coherent & usb_free_coherent calls in
      cdc-wdm.c match.
      Signed-off-by: NRobert Lukassen <robert.lukassen@tomtom.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      878b753e
    • O
      usb: wwan: fix compilation without CONFIG_PM_RUNTIME · 97ac01d8
      Oliver Neukum 提交于
      The pm usage counter must be accessed with the proper wrappers
      to allow compilation under all configurations.
      Signed-off-by: NOliver Neukum <oneukum@suse.de>
      Reported-by: NEric Dumazet <eric.dumazet@gmail.com>
      Reported-by: NTao Ma <boyu.mt@taobao.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      97ac01d8
    • P
      USB: uss720 fixup refcount position · adaa3c63
      Peter Holik 提交于
      My testprog do a lot of bitbang - after hours i got following warning and my machine lockups:
      WARNING: at /build/buildd/linux-2.6.38/lib/kref.c:34
      After debugging uss720 driver i discovered that the completion callback was called before
      usb_submit_urb returns. The callback frees the request structure that is krefed on return by
      usb_submit_urb.
      Signed-off-by: NPeter Holik <peter@holik.at>
      Acked-by: NThomas Sailer <t.sailer@alumni.ethz.ch>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      adaa3c63
    • M
      usb: musb: blackfin: fix typo in new bfin_musb_vbus_status func · 45567c28
      Mike Frysinger 提交于
      The common code has a "get" in the middle, but each implementation
      does not have it.
      
      Cc: stable@kernel.org
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      45567c28