1. 19 2月, 2012 6 次提交
    • J
      [SCSI] lpfc 8.3.29: SLI related fixes · 6b5151fd
      James Smart 提交于
      SLI related fixes:
      
      - Fix REG_RPI fails on SLI4 HBA putting NPort into NPR state (126230)
      - Fix ELS FDISC failing with local reject / invalid RPI. (126350)
      - Fix reset port when reset is needed during fw_dump (125807)
      - Fix unbounded firmware revision string from port cause panic (126560)
      - Fix driver behavior when receiving an ADISC (126654)
      - Fix driver not returning when bad ndlp found in abts error event
        handling (126209)
      - Add more driver logs in area of SLI4 port error attention and reset
        recovery (126813, 124466)
      - Fix failure in handling large CQ/EQ identifiers in an IOV
        environment (126856)
      - Fix for driver using duplicate RPIs after lancer port reset (126723)
      - Clear vport->fc_myDID in lpfc_els_issue_fdisc to guarentee a
        zero SID (126779, 126897)
      - Fix for SLI4 Port delivery for BLS ABORT ACC (126289)
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      6b5151fd
    • J
      [SCSI] lpfc 8.3.29: BSG and User interface fixes · 3ef6d24c
      James Smart 提交于
      BSG and User interface fixes:
      
      - Fix driver processing an els command using 16Gb FC Adapter (126345)
      - Change SLI4 FC port internal loopback to inner internal (126409)
      - Fix bug with driver dump command type 4 using 16Gb FC Adapter (126406)
      - Create character device to take a reference on the driver (126082)
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      3ef6d24c
    • M
      [SCSI] pm8001: deficient responses to IO_XFER_ERROR_BREAK and IO_XFER_OPEN_RETRY_TIMEOUT · 5954d738
      Mark Salyzyn 提交于
      IO_XFER_ERROR_BREAK and IO_XFER_OPEN_RETRY_TIMEOUT are deficient of the
      required actions as outlined in the programming manual for the pm8001. Due to
      the overlapping code requirements of these recovery responses, we found it
      necessary to bundle them together into one patch.
      
      When a break is received during the command phase (ssp_completion), this is a
      result of a timeout or interruption on the bus. Logic suggests that we should
      retry the command.
      
      When a break is received during the data-phase (ssp_event), the task must be
      aborted on the target or it will retain a data-phase lock turning the target
      reticent to all future media commands yet will successfully respond to TUR,
      INQUIRY and ABORT leading eventually to target failure through several
      abort-cycle loops.
      
      The open retry interval is exceedingly short resulting in occasional target
      drop-off during expander resets or when targets push-back during bad-block
      remapping. Increased effective timeout from 130ms to 1.5 seconds for each try
      so as to trigger after the administrative inquiry/tur timeout in the scsi
      subsystem to keep error-recovery harmonics to a minimum.
      
      When an open retry timeout event is received, the action required by the
      targets is to issue an abort for the outstanding command then logic suggests
      we retry the command as this state is usually an indication of a credit block
      or busy condition on the target.
      
      We hijacked the pm8001_handle_event work queue handler so that it will handle
      task as an argument instead of device for the workers in support of the
      deferred handling outlined above.
      
      Moderate to Heavy bad-path testing on a 2.6.32 vintage kernel, compile-testing
      on scsi-misc-2.6 kernel ...
      Signed-off-by: NMark Salyzyn <mark_salyzyn@xyratex.com>
      Acked-by: NJack Wang <jack_wang@usish.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      5954d738
    • M
      [SCSI] pm8001: Add FUNC_GET_EVENTS · d95d0001
      Mark Salyzyn 提交于
      Jack noticed I dropped a patch fragment associated with a flags automatic
      variable in mpi_set_phys_g3_with_ssc (ooops) and that the pre-emptive locking
      that piggy-backed this patch was not in-fact necessary because of underlying
      atomic accesses to the hardware. Here is the updated patch fixing these two
      issues.
      
      The pm8001 driver is missing the FUNC_GET_EVENTS handler in the phy control
      function. Since the pm8001_bar4_shift function was not designed to be called
      at runtime, added locking surrounding the adjustment for all accesses.
      Signed-off-by: NMark Salyzyn <mark_salyzyn@xyratex.com>
      Acked-by: NJack Wang <jack_wang@usish.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      d95d0001
    • M
      [SCSI] pm8001: fix lockup on phy_control hard reset. · 5c4fb76a
      Mark Salyzyn 提交于
      pm8001_phy_control PHY_FUNC_HARD_RESET locks up on second try via
      smp_phy_control because response HW_EVENT_PHY_START_STATUS fails to complete
      previous command. The PM8001F_RUN_TIME flag is not treated as a bit, but a
      state in all readers, yet once we are operational or in the run time state,
      the flags use a bit-set operation.
      Signed-off-by: NMark Salyzyn <mark_salyzyn@xyratex.com>
      Acked-by: NJack Wang <jack_wang@usish.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      5c4fb76a
    • O
      [SCSI] st: implement PM · 46a243f7
      Oliver Neukum 提交于
      This implements basic power management for SCSI tapes.
      Signed-off-by: NOliver Neukum <oneukum@suse.de>
      Acked-by: NKai Mäkisara <kai.makisara@kolumbus.fi>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      46a243f7
  2. 18 2月, 2012 15 次提交
  3. 13 2月, 2012 1 次提交
  4. 12 2月, 2012 1 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 3ec1e88b
      Linus Torvalds 提交于
      Says Jens:
      
       "Time to push off some of the pending items.  I really wanted to wait
        until we had the regression nailed, but alas it's not quite there yet.
        But I'm very confident that it's "just" a missing expire on exit, so
        fix from Tejun should be fairly trivial.  I'm headed out for a week on
        the slopes.
      
        - Killing the barrier part of mtip32xx.  It doesn't really support
          barriers, and it doesn't need them (writes are fully ordered).
      
        - A few fixes from Dan Carpenter, preventing overflows of integer
          multiplication.
      
        - A fixup for loop, fixing a previous commit that didn't quite solve
          the partial read problem from Dave Young.
      
        - A bio integer overflow fix from Kent Overstreet.
      
        - Improvement/fix of the door "keep locked" part of the cdrom shared
          code from Paolo Benzini.
      
        - A few cfq fixes from Shaohua Li.
      
        - A fix for bsg sysfs warning when removing a file it did not create
          from Stanislaw Gruszka.
      
        - Two fixes for floppy from Vivek, preventing a crash.
      
        - A few block core fixes from Tejun.  One killing the over-optimized
          ioc exit path, cleaning that up nicely.  Two others fixing an oops
          on elevator switch, due to calling into the scheduler merge check
          code without holding the queue lock."
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: fix lockdep warning on io_context release put_io_context()
        relay: prevent integer overflow in relay_open()
        loop: zero fill bio instead of return -EIO for partial read
        bio: don't overflow in bio_get_nr_vecs()
        floppy: Fix a crash during rmmod
        floppy: Cleanup disk->queue before caling put_disk() if add_disk() was never called
        cdrom: move shared static to cdrom_device_info
        bsg: fix sysfs link remove warning
        block: don't call elevator callbacks for plug merges
        block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions
        mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the unused member of struct driver_data
        block: strip out locking optimization in put_io_context()
        cdrom: use copy_to_user() without the underscores
        block: fix ioc locking warning
        block: fix NULL icq_cache reference
        block,cfq: change code order
      3ec1e88b
  5. 11 2月, 2012 11 次提交
    • T
      block: fix lockdep warning on io_context release put_io_context() · d8c66c5d
      Tejun Heo 提交于
      11a3122f "block: strip out locking optimization in put_io_context()"
      removed ioc_lock depth lockdep annoation along with locking
      optimization; however, while recursing from put_io_context() is no
      longer possible, ioc_release_fn() may still end up putting the last
      reference of another ioc through elevator, which wlil grab ioc->lock
      triggering spurious (as the ioc is always different one) A-A deadlock
      warning.
      
      As this can only happen one time from ioc_release_fn(), using non-zero
      subclass from ioc_release_fn() is enough.  Use subclass 1.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      d8c66c5d
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 8df54d62
      Linus Torvalds 提交于
      Quoth David:
      
      1) GRO MAC header comparisons were ethernet specific, breaking other
         link types.  This required a multi-faceted fix to cure the originally
         noted case (Infiniband), because IPoIB was lying about it's actual
         hard header length.  Thanks to Eric Dumazet, Roland Dreier, and
         others.
      
      2) Fix build failure when INET_UDP_DIAG is built in and ipv6 is modular.
         From Anisse Astier.
      
      3) Off by ones and other bug fixes in netprio_cgroup from Neil Horman.
      
      4) ipv4 TCP reset generation needs to respect any network interface
         binding from the socket, otherwise route lookups might give a
         different result than all the other segments received.  From Shawn
         Lu.
      
      5) Fix unintended regression in ipv4 proxy ARP responses, from Thomas
         Graf.
      
      6) Fix SKB under-allocation bug in sh_eth, from Yoshihiro Shimoda.
      
      7) Revert skge PCI mapping changes that are causing crashes for some
         folks, from Stephen Hemminger.
      
      8) IPV4 route lookups fill in the wildcarded fields of the given flow
         lookup key passed in, which is fine most of the time as this is
         exactly what the caller's want.  However there are a few cases that
         want to retain the original flow key values afterwards, so handle
         those cases properly.  Fix from Julian Anastasov.
      
      9) IGB/IXGBE VF lookup bug fixes from Greg Rose.
      
      10) Properly null terminate filename passed to ethtool flash device
          method, from Ben Hutchings.
      
      11) S3 resume fix in via-velocity from David Lv.
      
      12) Fix double SKB free during xmit failure in CAIF, from Dmitry
          Tarnyagin.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (72 commits)
        net: Don't proxy arp respond if iif == rt->dst.dev if private VLAN is disabled
        ipv4: Fix wrong order of ip_rt_get_source() and update iph->daddr.
        netprio_cgroup: fix wrong memory access when NETPRIO_CGROUP=m
        netprio_cgroup: don't allocate prio table when a device is registered
        netprio_cgroup: fix an off-by-one bug
        bna: fix error handling of bnad_get_flash_partition_by_offset()
        isdn: type bug in isdn_net_header()
        net: Make qdisc_skb_cb upper size bound explicit.
        ixgbe: ethtool: stats user buffer overrun
        ixgbe: dcb: up2tc mapping lost on disable/enable CEE DCB state
        ixgbe: do not update real num queues when netdev is going away
        ixgbe: Fix broken dependency on MAX_SKB_FRAGS being related to page size
        ixgbe: Fix case of Tx Hang in PF with 32 VFs
        ixgbe: fix vf lookup
        igb: fix vf lookup
        e1000: add dropped DMA receive enable back in for WoL
        gro: more generic L2 header check
        IPoIB: Stop lying about hard_header_len and use skb->cb to stash LL addresses
        zd1211rw: firmware needs duration_id set to zero for non-pspoll frames
        net: enable TC35815 for MIPS again
        ...
      8df54d62
    • T
      net: Don't proxy arp respond if iif == rt->dst.dev if private VLAN is disabled · 70620c46
      Thomas Graf 提交于
      Commit 653241 (net: RFC3069, private VLAN proxy arp support) changed
      the behavior of arp proxy to send arp replies back out on the interface
      the request came in even if the private VLAN feature is disabled.
      
      Previously we checked rt->dst.dev != skb->dev for in scenarios, when
      proxy arp is enabled on for the netdevice and also when individual proxy
      neighbour entries have been added.
      
      This patch adds the check back for the pneigh_lookup() scenario.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Acked-by: NJesper Dangaard Brouer <hawk@comx.dk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      70620c46
    • L
      ipv4: Fix wrong order of ip_rt_get_source() and update iph->daddr. · 5dc7883f
      Li Wei 提交于
      This patch fix a bug which introduced by commit ac8a4810 (ipv4: Save
      nexthop address of LSRR/SSRR option to IPCB.).In that patch, we saved
      the nexthop of SRR in ip_option->nexthop and update iph->daddr until
      we get to ip_forward_options(), but we need to update it before
      ip_rt_get_source(), otherwise we may get a wrong src.
      Signed-off-by: NLi Wei <lw@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5dc7883f
    • N
      netprio_cgroup: fix wrong memory access when NETPRIO_CGROUP=m · 2b73bc65
      Neil Horman 提交于
      When the netprio_cgroup module is not loaded, net_prio_subsys_id
      is -1, and so sock_update_prioidx() accesses cgroup_subsys array
      with negative index subsys[-1].
      
      Make the code resembles cls_cgroup code, which is bug free.
      Origionally-authored-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b73bc65
    • N
      netprio_cgroup: don't allocate prio table when a device is registered · f5c38208
      Neil Horman 提交于
      So we delay the allocation till the priority is set through cgroup,
      and this makes skb_update_priority() faster when it's not set.
      
      This also eliminates an off-by-one bug similar with the one fixed
      in the previous patch.
      Origionally-authored-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f5c38208
    • N
      netprio_cgroup: fix an off-by-one bug · a87dfe14
      Neil Horman 提交于
      # mount -t cgroup xxx /mnt
        # mkdir /mnt/tmp
        # cat /mnt/tmp/net_prio.ifpriomap
        lo 0
        eth0 0
        virbr0 0
        # echo 'lo 999' > /mnt/tmp/net_prio.ifpriomap
        # cat /mnt/tmp/net_prio.ifpriomap
        lo 999
        eth0 0
        virbr0 4101267344
      
      We got weired output, because we exceeded the boundary of the array.
      We may even crash the kernel..
      Origionally-authored-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a87dfe14
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 612b8507
      Linus Torvalds 提交于
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: fixup interlaced bits clearing in PIPECONF on PCH_SPLIT (v2)
        drm/i915: no lvds quirk for AOpen MP45
        drm/i915: Force explicit bpp selection for intel_dp_link_required
        drm/radeon: do not continue after error from r600_ib_test
        drivers/gpu/drm/drm_ioc32.c: initialize all fields
        drm/i915: fixup interlaced bits clearing in PIPECONF on PCH_SPLIT
        drm/i915:: Disable FBC on SandyBridge
      612b8507
    • L
      Merge tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux · af5feae3
      Linus Torvalds 提交于
      fix 1 mysterious divide error
      fix 3 NULL dereference bugs in writeback tracing, on SD card removal w/o umount
      
      * tag 'writeback-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
        writeback: fix dereferencing NULL bdi->dev on trace_writeback_queue
        lib: proportion: lower PROP_MAX_SHIFT to 32 on 64-bit kernel
        writeback: fix NULL bdi->dev in trace writeback_single_inode
        backing-dev: fix wakeup timer races with bdi_unregister()
      af5feae3
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ce2814f2
      Linus Torvalds 提交于
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix double start/stop in x86_pmu_start()
        perf evsel: Fix an issue where perf report fails to show the proper percentage
        perf tools: Fix prefix matching for kernel maps
        perf tools: Fix perf stack to non executable on x86_64
        perf: Remove deprecated WARN_ON_ONCE()
      ce2814f2
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 1282ab3f
      Linus Torvalds 提交于
      Couple of regressions, couple of zero-day bugs, a minor enhancement.
      Nothing really major.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (f75375s) Let f75375_update_device treat pwmX as a measured value
        hwmon: (f75375s) Fix bit shifting in f75375_write16
        hwmon: (f75375s) Fix reading of wrong register when initializing the F75387
        hwmon: (f75375s) Fix automatic pwm mode setting for F75373 & F75375
        hwmon: (w83627ehf) Remove duplicate code
      1282ab3f
  6. 10 2月, 2012 6 次提交