1. 16 5月, 2012 1 次提交
    • J
      s390/qdio: Cleanup error handling to drivers · 1549d13f
      Jan Glauber 提交于
      Various improvements of qdio error reporting to the
      upper-layer drivers (qeth, zfcp):
      
      - Split QDIO_ERROR_ACTIVATE_CHECK_CONDITION into:
      
        QDIO_ERROR_ACTIVATE: qdio termination interrupt
        QDIO_ERROR_GET_BUF_STATE: QIOASSIST eqbs error
        QDIO_ERROR_SET_BUF_STATE: QIOASSIST sqbs error
      
        Add QDIO_ERROR_FATAL / QDIO_ERROR_TEMPORARY masks
        to ease recovery decision in upper-layer drivers.
      
      - Don't (ab-)use qdio handler errors as return codes
        for do_QDIO but use standard error codes:
      
        -ENOBUFS: temporary target CC=2 condition
        -EBUSY: unresolved SIGA-W CC=2 busy condition
        -EIO: I/O error (CC=1, CC=3)
      
      - Remove unneeded memory clobber from SIGA-R
      - Remove EX_TABLE entry on SIGA-W, we want to see these errors
      Reviewed-by: NUrsula Braun <ursula.braun@de.ibm.com>
      Signed-off-by: NJan Glauber <jang@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      1549d13f
  2. 15 5月, 2012 1 次提交
  3. 14 5月, 2012 1 次提交
  4. 12 5月, 2012 10 次提交
    • M
      dm mpath: check if scsi_dh module already loaded before trying to load · 510193a2
      Mike Snitzer 提交于
      If the requested scsi_dh module is already loaded then skip
      request_module().
      
      Multipath table loads can hang in an unnecessary __request_module.
      Reported-by: NBen Marzinski <bmarzins@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      510193a2
    • A
      dm thin: correct module description · 7cab8bf1
      Alasdair G Kergon 提交于
      Remove duplicate copy of string "device-mapper" (DM_NAME) from
      MODULE_DESCRIPTION.
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      7cab8bf1
    • M
      dm thin: fix unprotected use of prepared_discards list · c3a0ce2e
      Mike Snitzer 提交于
      Fix two places in commit 104655fd ("dm thin: support discards") that
      didn't use pool->lock to protect against concurrent changes to the
      prepared_discards list.
      
      Without this fix, thin_endio() can race with process_discard(), leading
      to concurrent list_add()s that result in the processes locking up with
      an error like the following:
      
      WARNING: at lib/list_debug.c:32 __list_add+0x8f/0xa0()
      ...
      list_add corruption. next->prev should be prev (ffff880323b96140), but was ffff8801d2c48440. (next=ffff8801d2c485c0).
      ...
      Pid: 17205, comm: kworker/u:1 Tainted: G        W  O 3.4.0-rc3.snitm+ #1
      Call Trace:
       [<ffffffff8103ca1f>] warn_slowpath_common+0x7f/0xc0
       [<ffffffff8103cb16>] warn_slowpath_fmt+0x46/0x50
       [<ffffffffa04f6ce6>] ? bio_detain+0xc6/0x210 [dm_thin_pool]
       [<ffffffff8124ff3f>] __list_add+0x8f/0xa0
       [<ffffffffa04f70d2>] process_discard+0x2a2/0x2d0 [dm_thin_pool]
       [<ffffffffa04f6a78>] ? remap_and_issue+0x38/0x50 [dm_thin_pool]
       [<ffffffffa04f7c3b>] process_deferred_bios+0x7b/0x230 [dm_thin_pool]
       [<ffffffffa04f7df0>] ? process_deferred_bios+0x230/0x230 [dm_thin_pool]
       [<ffffffffa04f7e42>] do_worker+0x52/0x60 [dm_thin_pool]
       [<ffffffff81056fa9>] process_one_work+0x129/0x450
       [<ffffffff81059b9c>] worker_thread+0x17c/0x3c0
       [<ffffffff81059a20>] ? manage_workers+0x120/0x120
       [<ffffffff8105eabe>] kthread+0x9e/0xb0
       [<ffffffff814ceda4>] kernel_thread_helper+0x4/0x10
       [<ffffffff8105ea20>] ? kthread_freezable_should_stop+0x70/0x70
       [<ffffffff814ceda0>] ? gs_change+0x13/0x13
      ---[ end trace 7e0a523bc5e52692 ]---
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      c3a0ce2e
    • M
      dm thin: reinstate missing mempool_free in cell_release_singleton · 03aaae7c
      Mike Snitzer 提交于
      Fix a significant memory leak inadvertently introduced during
      simplification of cell_release_singleton() in commit
      6f94a4c4 ("dm thin: fix stacked bi_next
      usage").
      
      A cell's hlist_del() must be accompanied by a mempool_free().
      Use __cell_release() to do this, like before.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      03aaae7c
    • S
      gpio/exynos: Fix compiler warnings when non-exynos machines are selected · 2760f7ad
      Sachin Kamat 提交于
      Fixes the following compiler warnings:
      
      drivers/gpio/gpio-samsung.c: In function ‘samsung_gpiolib_init’:
      drivers/gpio/gpio-samsung.c:2980:1: warning: label ‘err_ioremap1’ defined but not used [-Wunused-label]
      drivers/gpio/gpio-samsung.c:2978:1: warning: label ‘err_ioremap2’ defined but not used [-Wunused-label]
      drivers/gpio/gpio-samsung.c:2976:1: warning: label ‘err_ioremap3’ defined but not used [-Wunused-label]
      drivers/gpio/gpio-samsung.c:2974:1: warning: label ‘err_ioremap4’ defined but not used [-Wunused-label]
      drivers/gpio/gpio-samsung.c:2722:55: warning: unused variable ‘gpio_base4’ [-Wunused-variable]
      
      drivers/gpio/gpio-samsung.c:455:32: warning: ‘exynos_gpio_cfg’ defined but not used [-Wunused-variable]
      drivers/gpio/gpio-samsung.c:2126:33: warning: ‘exynos4_gpios_1’ defined but not used [-Wunused-variable]
      drivers/gpio/gpio-samsung.c:2228:33: warning: ‘exynos4_gpios_2’ defined but not used [-Wunused-variable]
      drivers/gpio/gpio-samsung.c:2373:33: warning: ‘exynos4_gpios_3’ defined but not used [-Wunused-variable]
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      2760f7ad
    • T
      gpio: pch9: Use proper flow type handlers · df9541a6
      Thomas Gleixner 提交于
      Jean-Francois Dagenais reported:
      
       Configuring a gpio pin with the gpio-pch driver with
       "IRQF_TRIGGER_LOW | IRQF_ONESHOT" generates an interrupt storm for
       threaded ISR until the ISR thread actually gets to physically clear
       the interrupt on the triggering chip!! The immediate observable
       symptom is the high CPU usage for my ISR thread task and the
       interrupt count in /proc/interrupts incrementing radically.
      
      The driver is wrong in several ways:
      
      1) Using handle_simple_irq() does not provide proper flow control
         handling. In the case of oneshot threaded handlers for the
         demultiplexed interrupts this results in an interrupt storm because
         the simple handler does not deal with masking/unmasking.  Even
         without threaded oneshot handlers an interrupt storm for level type
         interrupts can easily be triggered when the interrupt is disabled
         and the interrupt line is activated from the device.
      
      2) Acknowlegding the demultiplexed interrupt before calling the
         handler is wrong for level type interrupts.
      
      3) The set_type function unconditionally enables the interrupt. It's
         supposed to set the type and nothing else. The unmasking is done by
         the core code.
      
      Move the acknowledge code into a separate function and add it to the
      demux irqchip callbacks.
      
      Remove the unconditional enabling from the set_type() callback and set
      the proper flow handlers depending on the selected type (level/edge).
      Reported-and-tested-by: NJean-Francois Dagenais <jeff.dagenais@gmail.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      df9541a6
    • S
      ks8851: Update link status during link change interrupt · 062e55e3
      Stephen Boyd 提交于
      If a link change interrupt comes in we just clear the interrupt
      and continue along without notifying the upper networking layers
      that the link has changed. Use the mii_check_link() function to
      update the link status whenever a link change interrupt occurs.
      
      Cc: Ben Dooks <ben-linux@fluff.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      062e55e3
    • B
      macvtap: restore vlan header on user read · f09e2249
      Basil Gor 提交于
      Ethernet vlan header is not on the packet and kept in the skb->vlan_tci
      when it comes from lower dev. This patch inserts vlan header in user
      buffer during skb copy on user read.
      Signed-off-by: NBasil Gor <basil.gor@gmail.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f09e2249
    • B
      vhost-net: fix handle_rx buffer size · c53cff5e
      Basil Gor 提交于
      Take vlan header length into account, when vlan id is stored as
      vlan_tci. Otherwise tagged packets coming from macvtap will be
      truncated.
      Signed-off-by: NBasil Gor <basil.gor@gmail.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c53cff5e
    • N
      target: Drop incorrect se_lun_acl release for dynamic -> explict ACL conversion · cfebf8f4
      Nicholas Bellinger 提交于
      This patch removes some potentially problematic legacy code within
      core_clear_initiator_node_from_tpg() that was originally intended to
      release left over se_lun_acl setup during dynamic NodeACL+MappedLUN
      generate when running with TPG demo-mode operation.
      
      Since we now only ever expect to allocate and release se_lun_acl from
      within target_core_fabric_configfs.c:target_fabric_make_mappedlun() and
      target_fabric_drop_mappedlun() context respectively, this code for
      demo-mode release is incorrect and needs to be removed.
      
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Andy Grover <agrover@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      cfebf8f4
  5. 11 5月, 2012 7 次提交
    • J
      bonding: don't increase rx_dropped after processing LACPDUs · 13a8e0c8
      Jiri Bohac 提交于
      Since commit 3aba891d, bonding processes LACP frames (802.3ad
      mode) with bond_handle_frame(). Currently a copy of the skb is
      made and the original is left to be processed by other
      rx_handlers and the rest of the network stack by returning
      RX_HANDLER_ANOTHER.  As there is no protocol handler for
      PKT_TYPE_LACPDU, the frame is dropped and dev->rx_dropped
      increased.
      
      Fix this by making bond_handle_frame() return RX_HANDLER_CONSUMED
      if bonding has processed the LACP frame.
      Signed-off-by: NJiri Bohac <jbohac@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13a8e0c8
    • E
      connector/userns: replace netlink uses of cap_raised() with capable() · 38bf1953
      Eric W. Biederman 提交于
      In 2009 Philip Reiser notied that a few users of netlink connector
      interface needed a capability check and added the idiom
      cap_raised(nsp->eff_cap, CAP_SYS_ADMIN) to a few of them, on the premise
      that netlink was asynchronous.
      
      In 2011 Patrick McHardy noticed we were being silly because netlink is
      synchronous and removed eff_cap from the netlink_skb_params and changed
      the idiom to cap_raised(current_cap(), CAP_SYS_ADMIN).
      
      Looking at those spots with a fresh eye we should be calling
      capable(CAP_SYS_ADMIN).  The only reason I can see for not calling capable
      is that it once appeared we were not in the same task as the caller which
      would have made calling capable() impossible.
      
      In the initial user_namespace the only difference between between
      cap_raised(current_cap(), CAP_SYS_ADMIN) and capable(CAP_SYS_ADMIN) are a
      few sanity checks and the fact that capable(CAP_SYS_ADMIN) sets
      PF_SUPERPRIV if we use the capability.
      
      Since we are going to be using root privilege setting PF_SUPERPRIV seems
      the right thing to do.
      
      The motivation for this that patch is that in a child user namespace
      cap_raised(current_cap(),...) tests your capabilities with respect to that
      child user namespace not capabilities in the initial user namespace and
      thus will allow processes that should be unprivielged to use the kernel
      services that are only protected with cap_raised(current_cap(),..).
      
      To fix possible user_namespace issues and to just clean up the code
      replace cap_raised(current_cap(), CAP_SYS_ADMIN) with
      capable(CAP_SYS_ADMIN).
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: Philipp Reisner <philipp.reisner@linbit.com>
      Acked-by: NSerge E. Hallyn <serge.hallyn@canonical.com>
      Acked-by: NAndrew G. Morgan <morgan@kernel.org>
      Cc: Vasiliy Kulikov <segoon@openwall.com>
      Cc: David Howells <dhowells@redhat.com>
      Reviewed-by: NJames Morris <james.l.morris@oracle.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38bf1953
    • D
      Revert "net: maintain namespace isolation between vlan and real device" · 59b9997b
      David S. Miller 提交于
      This reverts commit 8a83a00b.
      
      It causes regressions for S390 devices, because it does an
      unconditional DST drop on SKBs for vlans and the QETH device
      needs the neighbour entry hung off the DST for certain things
      on transmit.
      
      Arnd can't remember exactly why he even needed this change.
      
      Conflicts:
      
      	drivers/net/macvlan.c
      	net/8021q/vlan_dev.c
      	net/core/dev.c
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      59b9997b
    • T
      ehea: fix losing of NEQ events when one event occurred early · 380ec964
      Thadeu Lima de Souza Cascardo 提交于
      The NEQ interrupt is only triggered when there was no previous pending
      interrupt. If we request irq handling after an interrupt has occurred,
      we will never get an interrupt until we call H_RESET_EVENTS.
      
      Events seem to be cleared when we first register the NEQ. So, when we
      requested irq handling right after registering it, a possible race with
      an interrupt was much less likely. Now, there is a chance we may lose
      this race and never get any events.
      
      The fix here is to poll and acknowledge any events that might have
      happened right after registering the irq handler.
      Signed-off-by: NThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      380ec964
    • B
      igb: fix rtnl race in PM resume path · cfb8c3aa
      Benjamin Poirier 提交于
      Since the caller (PM resume code) is not the one holding rtnl, when taking the
      'else' branch rtnl may be released at any moment, thereby defeating the whole
      purpose of this code block.
      Signed-off-by: NBenjamin Poirier <bpoirier@suse.de>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cfb8c3aa
    • R
      parisc: move definition of PAGE0 to asm/page.h · 4a8a0788
      Rolf Eike Beer 提交于
      This was defined in asm/pdc.h which needs to include asm/page.h for
      __PAGE_OFFSET. This leads to an include loop so that page.h eventually will
      include pdc.h again. While this is no problem because of header guards, it is
      a problem because some symbols may be undefined. Such an error is this:
      
      In file included from include/linux/bitops.h:35:0,
                       from include/asm-generic/getorder.h:7,
                       from arch/parisc/include/asm/page.h:162,
                       from arch/parisc/include/asm/pdc.h:346,
                       from arch/parisc/include/asm/processor.h:16,
                       from arch/parisc/include/asm/spinlock.h:6,
                       from arch/parisc/include/asm/atomic.h:20,
                       from include/linux/atomic.h:4,
                       from include/linux/sysfs.h:20,
                       from include/linux/kobject.h:21,
                       from include/linux/device.h:17,
                       from include/linux/eisa.h:5,
                       from arch/parisc/kernel/pci.c:11:
      arch/parisc/include/asm/bitops.h: In function ‘set_bit’:
      arch/parisc/include/asm/bitops.h:82:2: error: implicit declaration of function ‘_atomic_spin_lock_irqsave’ [-Werror=implicit-function-declaration]
      arch/parisc/include/asm/bitops.h:84:2: error: implicit declaration of function ‘_atomic_spin_unlock_irqrestore’ [-Werror=implicit-function-declaration]
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4a8a0788
    • A
      drivers/leds: correct __devexit annotations · b8cd742a
      Arnd Bergmann 提交于
      __devexit functions are discarded without CONFIG_HOTPLUG, so they need
      to be referenced carefully.  A __devexit function may also not be called
      from a __devinit function.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8cd742a
  6. 10 5月, 2012 8 次提交
  7. 09 5月, 2012 5 次提交
    • L
      regmap: fix possible memory corruption in regmap_bulk_read() · 6560ffd1
      Laxman Dewangan 提交于
      The function regmap_bulk_read() calls the regmap_read() for
      each register if set of register has volatile and cache is
      enabled. In this case, last few register read makes the memory
      corruption if the register size is not the size of unsigned int.
      The regam_read() takes argument as unsigned int for returning
      value and it update the value as
      	*val = map->format.parse_val(map->work_buf);
      This causes complete 4 bytes (size of unsigned int) to get written.
      Now if client pass the memory pointer for value which is equal to the
      required size of register count in regmap_bulk_read() then last few
      register read actually update the memory beyond passed pointer size.
      
      Avoid this by using local variable for read and then do memcpy()
      for actual byte copy to passed pointer based on register size.
      
      I allocated one pointer ptr and take first 16 bytes dump of that
      pointer then call regmap_bulk_read() with pointer which is just
      on top of this allocated pointer and register count of 128. Here
      register size is 1 byte.
      The memory trace of last 5 register read are as follows:
      
      [    5.438589] regmap_bulk_read after regamp_read() for register 122
      [    5.447421] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.467535] regmap_bulk_read after regamp_read() for register 123
      [    5.476374] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.496425] regmap_bulk_read after regamp_read() for register 124
      [    5.505260] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.525372] regmap_bulk_read after regamp_read() for register 125
      [    5.534205] 0xef993c00 0xef993c00 0x00000000 0x00000001
      [    5.554258] regmap_bulk_read after regamp_read() for register 126
      [    5.563100] 0xef990000 0xef993c00 0x00000000 0x00000001
      [    5.554258] regmap_bulk_read after regamp_read() for register 127
      [    5.587108] 0xef000000 0xef993c00 0x00000000 0x00000001
      
      Here it is observed that the memory content at first word started changing
      on last 3 regmap_read() and so corruption happened.
      Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      6560ffd1
    • J
      r8169: fix unsigned int wraparound with TSO · 477206a0
      Julien Ducourthial 提交于
      The r8169 may get stuck or show bad behaviour after activating TSO :
      the net_device is not stopped when it has no more TX descriptors.
      This problem comes from TX_BUFS_AVAIL which may reach -1 when all
      transmit descriptors are in use. The patch simply tries to keep positive
      values.
      
      Tested with 8111d(onboard) on a D510MO, and with 8111e(onboard) on a
      Zotac 890GXITX.
      Signed-off-by: NJulien Ducourthial <jducourt@free.fr>
      Acked-by: NFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      477206a0
    • J
      mtd: ams-delta: fix request_mem_region() failure · b027274d
      Janusz Krzysztofik 提交于
      A call to request_mem_region() has been introduced in the omap-gpio
      driver recently (commit 96751fcb,
      "gpio/omap: Use devm_ API and add request_mem_region"). This change
      prevented the Amstrad Delta NAND driver, which was doing the same in
      order to take control over OMAP MPU I/O lines that the NAND device hangs
      off, from loading successfully.
      
      The I/O lines and corresponding registers used by the NAND driver are a
      subset of those used for the GPIO function. Then, to avoid run time
      collisions, all MPUIO GPIO lines should be marked as requested while
      initializing the NAND driver, and vice versa, a single MPUIO GPIO line
      already requested before the NAND driver initialization is attempted
      should prevent the NAND device from being started successfully.
      
      There is another driver, omap-keypad, which also manipulates MPUIO
      registers, but has never been calling request_mem_region() on startup,
      so it's not affected by the change in the gpio-omap and works correctly.
      It uses the depreciated omap_read/write functions for accessing MPUIO
      registers. Unlike the NAND driver, these I/O lines and registers are
      separate from those used by the GPIO driver. However, both register sets
      are non-contiguous and overlapping, so it would be impractical to
      request the two sets separately, one from the gpio-omap, the other form
      the omap-keypad driver.
      
      In order to solve all these issues correctly, a solution first suggested
      by Artem Bityutskiy, then closer specified by Tony Lindgren while they
      commented the initial version of this fix, should be implemented. The
      gpio-omap driver should export a few functions which would allow the
      other two drivers to access MPUIO registers in a safe manner instead of
      trying to manage them in parallel to the GPIO driver.  However, such a
      big change, affecting 3 drivers all together, is not suitable for the rc
      cycle, and should be prepared for the merge window.  Then, an
      alternative solution is proposed as a regression fix.
      
      For the ams-delta NAND driver to initialize correctly in coexistence
      with the changed GPIO driver, drop the request_mem_region() call from
      the former, especially as this call is going to be removed while the
      long-term solution is implemented.
      
      Tested on Amstrad Delta.
      Signed-off-by: NJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      b027274d
    • B
      sfc: Fix division by zero when using one RX channel and no SR-IOV · 3132d282
      Ben Hutchings 提交于
      If RSS is disabled on the PF (efx->n_rx_channels == 1) we try to set
      up the indirection table so that VFs can use it, setting
      efx->rss_spread = efx_vf_size(efx).  But if SR-IOV was disabled at
      compile time, this evaluates to 0 and we end up dividing by zero when
      initialising the table.
      
      I considered changing the fallback definition of efx_vf_size() to
      return 1, but its value is really meaningless if we are not going to
      enable VFs.  Therefore add a condition of efx_sriov_wanted(efx) in
      efx_probe_interrupts().
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      3132d282
    • J
      [media] gspca - sonixj: Fix a zero divide in isoc interrupt · 788ab1bb
      Jean-François Moine 提交于
      In case of short marker, the number of received packets was not
      incremented doing a zero divide when computing the filling rate.
      Reported-by: NHans Petter Selasky <hans.petter.selasky@bitfrost.no>
      Signed-off-by: NJean-François Moine <moinejf@free.fr>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      788ab1bb
  8. 08 5月, 2012 7 次提交