1. 30 6月, 2011 1 次提交
    • K
      drm/i915: Hold struct_mutex during i915_save_state/i915_restore_state · d70bed19
      Keith Packard 提交于
      Lots of register access in these functions, some of which requires the
      struct mutex.
      
      These functions now hold the struct mutex across the calls to
      i915_save_display and i915_restore_display, and so the internal mutex
      calls in those functions have been removed. To ensure that no-one else
      was calling them (and hence violating the new required locking
      invarient), those functions have been made static.
      
      gen6_enable_rps locks the struct mutex, and so i915_restore_state
      unlocks the mutex around calls to that function.
      Reviewed-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      d70bed19
  2. 29 6月, 2011 2 次提交
    • C
      drm/i915: Use chipset-specific irq installers · f01c22fd
      Chris Wilson 提交于
      Konstantin Belousov pointed out that 4697995b replaced the generic
      i915_driver_irq_*install() functions with chipset specific routines
      accessible only through driver->irq_*install(). So update the sanity
      check in i915_request_wait() to match.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      f01c22fd
    • B
      drm/i915: forcewake fix after reset · 25732821
      Ben Widawsky 提交于
      The failure is as follows:
      
      1. Userspace gets forcewake lock, lock count >=1
      2. GPU hang/reset occurs (forcewake bit is reset)
      3. count is now incorrect
      
      The failure can only occur when using the forcewake userspace lock.
      
      This has the unfortunate consequence of messing up the driver as well as
      userspace, unless userspace closes the debugfs file, the kernel will
      never end up waking the GT since the refcount will be > 1.
      
      The solution is to try to recover the correct forcewake state based on
      the refcount. There is a period of time where userspace reads/writes may
      occur after the reset, before the GT has been forcewaked. The interface
      was never designed to be a perfect solution for userspace reads/writes,
      and the kernel portion is fixed by this patch.
      Suggested-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      25732821
  3. 28 6月, 2011 23 次提交
    • N
      md: avoid endless recovery loop when waiting for fail device to complete. · 4274215d
      NeilBrown 提交于
      If a device fails in a way that causes pending request to take a while
      to complete, md will not be able to immediately remove it from the
      array in remove_and_add_spares.
      It will then incorrectly look like a spare device and md will try to
      recover it even though it is failed.
      This leads to a recovery process starting and instantly aborting over
      and over again.
      
      We should check if the device is faulty before considering it to be a
      spare.  This will avoid trying to start a recovery that cannot
      proceed.
      
      This bug was introduced in 2.6.26 so that patch is suitable for any
      kernel since then.
      
      Cc: stable@kernel.org
      Reported-by: NJim Paradis <james.paradis@stratus.com>
      Signed-off-by: NNeilBrown <neilb@suse.de>
      4274215d
    • H
      drm/i915: more struct_mutex locking · ecbec53b
      Hugh Dickins 提交于
      When auditing the locking in i915_gem.c (for a prospective change which
      I then abandoned), I noticed two places where struct_mutex is not held
      across GEM object manipulations that would usually require it.
      
      Since one is in initial setup and the other in driver unload, I'm
      guessing the mutex is not required for either; but post a patch in case
      it is.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Keith Packard <keithp@keithp.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ecbec53b
    • H
      drm/i915: use shmem_truncate_range · e2377fe0
      Hugh Dickins 提交于
      The interface to ->truncate_range is changing very slightly: once "tmpfs:
      take control of its truncate_range" has been applied, this can be applied.
       For now there is only a slight inefficiency while this remains unapplied,
      but it will soon become essential for managing shmem's use of swap.
      
      Change i915_gem_object_truncate() to use shmem_truncate_range() directly:
      which should also spare i915 later change if we switch from
      inode_operations->truncate_range to file_operations->fallocate.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Keith Packard <keithp@keithp.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e2377fe0
    • H
      drm/i915: use shmem_read_mapping_page · 5949eac4
      Hugh Dickins 提交于
      Soon tmpfs will stop supporting ->readpage and read_cache_page_gfp(): once
      "tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
      be applied to ease the transition.
      
      Make i915_gem_object_get_pages_gtt() use shmem_read_mapping_page_gfp() in
      the one place it's needed; elsewhere use shmem_read_mapping_page(), with
      the mapping's gfp_mask properly initialized.
      
      Forget about __GFP_COLD: since tmpfs initializes its pages with memset,
      asking for a cold page is counter-productive.
      
      Include linux/shmem_fs.h also in drm_gem.c: with shmem_file_setup() now
      declared there too, we shall remove the prototype from linux/mm.h later.
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Keith Packard <keithp@keithp.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5949eac4
    • H
      drm/ttm: use shmem_read_mapping_page · 3142b651
      Hugh Dickins 提交于
      Soon tmpfs will stop supporting ->readpage and read_mapping_page(): once
      "tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
      be applied to ease the transition.
      
      ttm_tt_swapin() and ttm_tt_swapout() use shmem_read_mapping_page() in
      place of read_mapping_page(), since their swap_space has been created with
      shmem_file_setup().
      Signed-off-by: NHugh Dickins <hughd@google.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Cc: Dave Airlie <airlied@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3142b651
    • A
      drivers/tty/serial/8250_pci.c: fix warning · a39bce7b
      Andrew Morton 提交于
      Fis the warning
      
        drivers/tty/serial/8250_pci.c:1457: warning: initialization from incompatible pointer type
      
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a39bce7b
    • R
      drivers/misc/ioc4.c: fix section mismatch / race condition · 1fc6e987
      Ralf Baechle 提交于
      Fix this section mismatch:
      
        WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()
        The variable ioc4_load_modules_work references
        the function __devinit ioc4_load_modules()
        If the reference is valid then annotate the
        variable with __init* or __refdata (see linux/init.h) or name the variable:
        *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      This one is potentially fatal; by the time ioc4_load_modules is invoked
      it may already have been freed.  For that reason ioc4_load_modules_work
      can't be turned to __devinitdata but also because it's referenced in
      ioc4_exit.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Acked-by: NBrent Casavant <bcasavan@sgi.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1fc6e987
    • R
      drivers/leds/leds-lp5523.c: fix section mismatches · 33721bd3
      Ralf Baechle 提交于
      Fix this section mismatch:
      
        WARNING: drivers/leds/leds-lp5523.o(.text+0x12f4): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led()
        The function lp5523_probe() references
        the function __init lp5523_init_led().
        This is often because lp5523_probe lacks a __init
        annotation or the annotation of lp5523_init_led is wrong.
      
      Fixing this one triggers one more mismatch, fix that one as well.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      33721bd3
    • R
      drivers/leds/leds-lp5521.c: fix section mismatches · 5286bd95
      Ralf Baechle 提交于
      Fix this section mismatch:
      
        WARNING: drivers/leds/leds-lp5521.o(.text+0xf2c): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led()
        The function lp5521_probe() references
        the function __init lp5521_init_led().
        This is often because lp5521_probe lacks a __init
        annotation or the annotation of lp5521_init_led is wrong.
      
      Fixing this mismatch triggers one more mismatch, fix that one as well.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5286bd95
    • J
      drivers/misc/lkdtm.c: fix race when crashpoint is hit multiple times before checking count · aa2c96d6
      Josh Hunt 提交于
      We observed the crash point count going negative in cases where the
      crash point is hit multiple times before the check of "count == 0" is
      done.  Because of this we never call lkdtm_do_action().  This patch just
      adds a spinlock to protect count.
      Reported-by: NTapan Dhimant <tdhimant@akamai.com>
      Signed-off-by: NJosh Hunt <johunt@akamai.com>
      Acked-by: NAnkita Garg <ankita@in.ibm.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aa2c96d6
    • P
      drivers/rtc/rtc-ds1307.c: add support for RTC device pt7c4338 · 31c1771c
      Priyanka Jain 提交于
      PT7C4338 chip is being manufactured by Pericom Technology Inc.  It is a
      serial real-time clock which provides:
      
      1) Low-power clock/calendar.
      2) Programmable square-wave output.
      
      It has 56 bytes of nonvolatile RAM.  Its register set is same as that of
      rtc device: DS1307.
      Signed-off-by: NPriyanka Jain <Priyanka.Jain@freescale.com>
      Acked-by: NTimur Tabi <timur@freescale.com>
      Reviewed-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      31c1771c
    • G
      Staging: comedi: fix build breakages on some platforms · a73738e9
      Greg Kroah-Hartman 提交于
      Some platforms do not have virt_to_bus(), so properly depend on
      CONFIG_VIRT_TO_BUS for the Comedi drivers that need this function.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a73738e9
    • G
      Staging: brcm80211: disable drivers except for X86 or MIPS platforms · d4620396
      Greg Kroah-Hartman 提交于
      As David points out, the driver is also broken on SPARC, so might
      as well just only enable it on platforms where people have reported it
      working, instead of trying to list all of the ones where it doesn't
      work, as the working platform list is much smaller...
      Reported-by: NDavid Miller <davem@davemloft.net>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Henry Ptasinski <henryp@broadcom.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d4620396
    • G
      Staging: brcm80211: disable drivers for PPC platforms · 15e5201d
      Greg Kroah-Hartman 提交于
      Right now, bad things happen if you try to build these drivers for the
      PPC platform as it seems that the code only has been tested and built on
      the MIPS big endian platform.
      
      So disable it on the PPC32 and PPC64 platforms for now, hopefully this
      will be resolved in the future as I'm sure someone will want to use
      these chips with that platform someday.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Henry Ptasinski <henryp@broadcom.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      15e5201d
    • G
      Staging: iio: Make IIO depend on GENERIC_HARDIRQS · 928f9111
      Geert Uytterhoeven 提交于
      On m68k (which doesn't support generic hardirqs yet):
      
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_trigger_poll’:
      drivers/staging/iio/industrialio-trigger.c:180: error: implicit declaration of function ‘generic_handle_irq’
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_trigger_poll_chained’:
      drivers/staging/iio/industrialio-trigger.c:200: error: implicit declaration of function ‘handle_nested_irq’
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_trig_release’:
      drivers/staging/iio/industrialio-trigger.c:379: error: implicit declaration of function ‘irq_modify_status’
      drivers/staging/iio/industrialio-trigger.c:382: error: implicit declaration of function ‘irq_set_chip’
      drivers/staging/iio/industrialio-trigger.c:384: error: implicit declaration of function ‘irq_set_handler’
      drivers/staging/iio/industrialio-trigger.c:388: error: implicit declaration of function ‘irq_free_descs’
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_trig_subirqmask’:
      drivers/staging/iio/industrialio-trigger.c:402: error: implicit declaration of function ‘irq_data_get_irq_chip’
      drivers/staging/iio/industrialio-trigger.c:402: warning: initialization makes pointer from integer without a cast
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_trig_subirqunmask’:
      drivers/staging/iio/industrialio-trigger.c:411: warning: initialization makes pointer from integer without a cast
      drivers/staging/iio/industrialio-trigger.c: In function ‘iio_allocate_trigger’:
      drivers/staging/iio/industrialio-trigger.c:432: error: implicit declaration of function ‘irq_alloc_descs’
      drivers/staging/iio/industrialio-trigger.c:455: error: ‘handle_simple_irq’ undeclared (first use in this function)
      drivers/staging/iio/industrialio-trigger.c:455: error: (Each undeclared identifier is reported only once
      drivers/staging/iio/industrialio-trigger.c:455: error: for each function it appears in.)
      
      Hence IIO_TRIGGER should depend on GENERIC_HARDIRQS.
      But as IIO_TRIGGER and IIO_RING_BUFFER form a maze of dependencies and selects,
      just make the whole IIO subsystem depend on GENERIC_HARDIRQS.
      
      This dependency also covers !S390, so that one can be removed again.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NJonathan Cameron <jic23@cam.ac.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      928f9111
    • T
      Staging: mei: fix suspend failure · a534bb6e
      Tomas Winkler 提交于
      wait_event_interruptible_timeout return value was wrongly used.
      The remaining timeout was used as the error code.
      This fix translated wait_event_interruptible_timeout return value
      into error code that can be propagated.
      
      [10291.674121] pci_pm_suspend(): mei_pci_suspend+0x0/0x8b [mei] returns 2500
      It's thinkpad t400 with
      00:03.0 Communication controller [0780]: Intel Corporation Mobile 4 Series Chipset MEI Controller [8086:2a44] (rev 07)
      Reported-by: NArkadiusz Miskiewicz <a.miskiewicz@gmail.com>
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a534bb6e
    • R
      Staging: fix iio builds when IIO_RING_BUFFER is not enabled · fdf2df0e
      Randy Dunlap 提交于
      Fix build by moving enum list outside of
      #ifdef CONFIG_IIO_RING_BUFFER.
      
      drivers/staging/iio/accel/adis16201_core.c:413: error: 'ADIS16201_SCAN_SUPPLY' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:417: error: 'ADIS16201_SCAN_TEMP' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:422: error: 'ADIS16201_SCAN_ACC_X' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:427: error: 'ADIS16201_SCAN_ACC_Y' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:432: error: 'ADIS16201_SCAN_AUX_ADC' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:436: error: 'ADIS16201_SCAN_INCLI_X' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16201_core.c:441: error: 'ADIS16201_SCAN_INCLI_Y' undeclared here (not in a function)
      
      vers/staging/iio/accel/adis16203_core.c:374: error: 'ADIS16203_SCAN_SUPPLY' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16203_core.c:378: error: 'ADIS16203_SCAN_AUX_ADC' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16203_core.c:382: error: 'ADIS16203_SCAN_INCLI_X' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16203_core.c:388: error: 'ADIS16203_SCAN_INCLI_Y' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16203_core.c:392: error: 'ADIS16203_SCAN_TEMP' undeclared here (not in a function)
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NJonathan Cameron <jic23@cam.ac.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fdf2df0e
    • R
      Staging: Comedi: Build only on arches providing PAGE_KERNEL_NOCACHE · 6fab3e1f
      Ralf Baechle 提交于
      On architectures that don't define PAGE_KERNEL_NOCACHE, the Comedi driver turns
      into tragedy:
      
        CC [M]  drivers/staging/comedi/drivers.o
      drivers/staging/comedi/drivers.c: In function ‘comedi_buf_alloc’:
      drivers/staging/comedi/drivers.c:505:41: error: ‘PAGE_KERNEL_NOCACHE’ undeclared (first use in this function)
      drivers/staging/comedi/drivers.c:505:41: note: each undeclared identifier is rep orted only once for each function it appears in
      make[3]: *** [drivers/staging/comedi/drivers.o] Error 1
      
      Restrict the driver to only those architectures that define PAGE_KERNEL_NOCACHE.
      
      PAGE_KERNEL_NOCACHE is a kludge - some system architectures such as SGI IP27
      are even uable to offer uncached operation - at least in the way an unwitting
      driver might assume.  I haven't looked in details how the driver is using
      the area vmaped with PAGE_KERNEL_NOCACHE but maybe doing it XFS-style using
      cached memory and the flush_kernel_vmap_range / invalidate_kernel_vmap_range
      APIs in conjunction with the DMA API is a practical alternative.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Reported-by: NDavid Miller <davem@davemloft.net>
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Martyn Welch <martyn.welch@ge.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6fab3e1f
    • R
      Staging: fix more iio builds when IIO_RING_BUFFER is not enabled · 89089158
      Randy Dunlap 提交于
      Fix lots more build errors in staging/iio when CONFIG_IIO_RING_BUFFER
      is not enabled by moving enums and defines outside of the
      CONFIG_IIO_RING_BUFFER ifdef block.
      
      Examples (one from each driver; there were 116 total errors):
      
      drivers/staging/iio/accel/adis16204_core.c:437: error: 'ADIS16204_SCAN_SUPPLY' undeclared here (not in a function)
      drivers/staging/iio/accel/adis16209_core.c:410: error: 'ADIS16209_SCAN_SUPPLY' undeclared here (not in a function)
      drivers/staging/iio/gyro/adis16260_core.c:420: error: 'ADIS16260_SCAN_GYRO' undeclared here (not in a function)
      drivers/staging/iio/imu/adis16400_core.c:565: error: 'ADIS16400_SCAN_SUPPLY' undeclared here (not in a function)
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NJonathan Cameron <jic23@cam.ac.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      89089158
    • Y
      usb: r8a66597-hcd: fix cannot detect low/full speed device · 87abd0a9
      Yoshihiro Shimoda 提交于
      This controller can control "Transaction Translators", but
      the hcd->has_tt is not set.
      Since the commit d199c96d
      ("USB: prevent buggy from crashing the USB stack") has checked it,
      the driver could not work the low/full speed device.
      Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      87abd0a9
    • G
      USB: ehci-ath79: fix a NULL pointer dereference · c27d5368
      Gabor Juhos 提交于
      Loading the ehci-hcd module on the ath79 platform causes
      a NULL pointer dereference:
      
      CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == c0252928, ra == c00de968
      Oops[#1]:
      Cpu 0
      $ 0   : 00000000 00000070 00000001 00000000
      $ 4   : 802cf870 0000117e ffffffff 8019c7bc
      $ 8   : 0000000a 00000002 00000001 fffffffb
      $12   : 8026ef20 0000000f ffffff80 802dad3c
      $16   : 8077a2d4 8077a200 c00f3484 8019ed84
      $20   : c00f0000 00000003 000000a0 80262c2c
      $24   : 00000002 80079da0
      $28   : 80788000 80789c80 80262b14 c00de968
      Hi    : 00000000
      Lo    : b61f0000
      epc   : c0252928 __mod_vermagic5+0xc260/0xc7e8 [ehci_hcd]
          Not tainted
      ra    : c00de968 usb_add_hcd+0x2a4/0x858 [usbcore]
      Status: 1000c003    KERNEL EXL IE
      Cause : 00800008
      BadVA : 00000000
      PrId  : 00019374 (MIPS 24Kc)
      Modules linked in: ehci_hcd(+) pppoe pppox ipt_REJECT xt_TCPMSS ipt_LOG
      xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filte
      r ip_tables xt_tcpudp x_tables ppp_async ppp_generic slhc ath mac80211
      usbcore nls_base input_polldev crc_ccitt cfg80211 compat input_core a
      rc4 aes_generic crypto_algapi
      Process insmod (pid: 379, threadinfo=80788000, task=80ca2180,
      tls=77fe52d0)
      Stack : c0253184 80c57d80 80789cac 8077a200 00000001 8019edc0 807fa800 8077a200
              8077a290 c00f3484 8019ed84 c00f0000 00000003 000000a0 80262c2c c00de968
              802d0000 800878cc c0253228 c02528e4 c0253184 80c57d80 80bf6800 80ca2180
              8007b75c 00000000 8077a200 802cf830 802d0000 00000003 fffffff4 00000015
              00000348 00000124 800b189c c024bb4c c0255000 801a27e8 c0253228 c02528e4
              ...
      Call Trace:
      [<c0252928>] __mod_vermagic5+0xc260/0xc7e8 [ehci_hcd]
      
      It is caused by:
      
        commit c430131a
        Author: Jan Andersson <jan@gaisler.com>
        Date:   Tue May 3 20:11:57 2011 +0200
      
            USB: EHCI: Support controllers with big endian capability regs
      
            The two first HC capability registers (CAPLENGTH and HCIVERSION)
            are defined as one 8-bit and one 16-bit register. Most HC
            implementations have selected to treat these registers as part
            of a 32-bit register, giving the same layout for both big and
            small endian systems.
      
            This patch adds a new quirk, big_endian_capbase, to support
            controllers with big endian register interfaces that treat
            HCIVERSION and CAPLENGTH as individual registers.
      Signed-off-by: NJan Andersson <jan@gaisler.com>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      The reading of the HC capability register has been moved by that
      commit to a place where the ehci->caps field is not initialized
      yet. This patch moves the reading of the register back to the
      original place.
      Acked-by: NJan Andersson <jan@gaisler.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c27d5368
    • U
      USB: Add new FT232H chip to drivers/usb/serial/ftdi_sio.c · 309427b6
      Uwe Bonnes 提交于
      appended patch adds support for the new FTDI FT232H chip. This chip is a
      single channel version of the dual FT2232H/quad FT4232H, coming with it's
      own default PID 0x6014 (FT2232H uses the same PID 0x6010 like FT2232C,
      FT4232H has also it's own PID).
      
      The patch was checked on an UM232H module and a terminal program with TX/RX
      shorted to that typing in the terminal reproduced the characters.
      Signed-off-by: NUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      309427b6
    • A
      usb/isp1760: Fix bug preventing the unlinking of control urbs · 8b1ab60c
      Arvid Brodin 提交于
      Both control and bulk transfers use isp1760 slots of type ATL, but the
      driver unlink code for ATL slots only acts on urbs describing a bulk
      transfer, letting the code for INT slots take care of the unlink instead,
      which often ended up removing the interrupt transfer for root hub events
      instead. That's not good, and gets fixed by this patch.
      Signed-off-by: NArvid Brodin <arvid.brodin@enea.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8b1ab60c
  4. 27 6月, 2011 2 次提交
  5. 26 6月, 2011 11 次提交
  6. 24 6月, 2011 1 次提交