1. 20 12月, 2012 3 次提交
  2. 14 12月, 2012 14 次提交
    • J
      72d5f2da
    • X
      [libata] fix Null pointer dereference on disk error · 26cd4d65
      Xiaotian Feng 提交于
      Following oops were observed when disk error happened:
      
      [ 4272.896937] sd 0:0:0:0: [sda] Unhandled error code
      [ 4272.896939] sd 0:0:0:0: [sda] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
      [ 4272.896942] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 00 5a de a7 00 00 08 00
      [ 4272.896951] end_request: I/O error, dev sda, sector 5955239
      [ 4291.574947] BUG: unable to handle kernel NULL pointer dereference at (null)
      [ 4291.658305] IP: [] ahci_activity_show+0x1/0x40
      [ 4291.730090] PGD 76dbbc067 PUD 6c4fba067 PMD 0
      [ 4291.783408] Oops: 0000 [#1] SMP
      [ 4291.822100] last sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/sw_activity
      [ 4291.934235] CPU 9
      [ 4291.958301] Pid: 27942, comm: hwinfo ......
      
      ata_scsi_find_dev could return NULL, so ata_scsi_activity_{show,store} should check if atadev is NULL.
      Signed-off-by: NXiaotian Feng <dannyfeng@tencent.com>
      Cc: James Bottomley <JBottomley@Parallels.com>
      Cc: stable@kernel.org
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      26cd4d65
    • W
      ahci: convert ata_link_printk() to ata_link_warn() · 39f80acb
      Wei Yongjun 提交于
      Using ata_link_warn() instead of ata_link_printk().
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      39f80acb
    • W
      pata_imx: convert ata_dev_printk() to ata_dev_info() · 22c8be31
      Wei Yongjun 提交于
      Using ata_dev_info() instead of ata_dev_printk().
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      22c8be31
    • W
      ARM: ep93xx: convert ata_<foo>_printk() to ata_<foo>_<level>() · 99da09fc
      Wei Yongjun 提交于
      Using ata_<foo>_<level>() instead of ata_<foo>_printk().
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      99da09fc
    • B
      ahci_platform: make structs static · 071d3ad3
      Brian Norris 提交于
      These structs are used only for ahci_platform.c, so they should be
      static. Thanks to Fengguang for the (automated) suggestion.
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      071d3ad3
    • J
      Revert "pata_octeon_cf: perform host detach, removal on exit" · 11ace0c1
      Jeff Garzik 提交于
      This reverts commit 1645bf1b.
      
      Brian Norris writes:
        > David Daney writes:
      
        > I can seem to find it.  Without knowing what that does, I would be inclined
        > to NACK the whole thing.
      
        A NACK is probably the right thing. I was mostly converting a few
        other drivers which used some simple, common patterns to use my new
        common code, but this driver was missing it altogether. It looks like
        there may be bigger issues, though, as you point out.
      
        > This patch is likely to be incomplete as the driver is also missing the
        > module_exit() things.
        >
        > It might be simpler to just make the driver "bool" instead of "tristate" in
        > the Kconfig.
      
        As noted earlier, I don't have much interest in this driver. I agree
        that there are some other issues with the driver; I think it leaks
        memory if it is ever allowed to unload, for one. Feel free to submit
        an alternative patch to prevent this driver from being built as a
        module.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      11ace0c1
    • J
      Revert "libata: check SATA_SETTINGS log with HW Feature Ctrl" · 8349e5ae
      Jeff Garzik 提交于
      This reverts commit de90cd71.
      
      Shane Huang writes:
      
        Please suspend this patch because I just received two new
        DevSlp drives but found word 78 bit 5 is _not_ set.
      
        I'm checking with the drive vendor whether he gave me
        the wrong information. If bit 5 is not the necessary and
        sufficient condition, I will implement another patch to
        replace ata_device->sata_settings into ->devslp_timing.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      8349e5ae
    • A
      target/iscsi_target: Add NodeACL tags for initiator group support · 79e62fc3
      Andy Grover 提交于
      Thanks for reviews, looking a lot better.
      
      ---- 8< ----
      
      Initiator access config could be easier. The way other storage vendors
      have addressed this is to support initiator groups: the admin adds
      initiator WWNs to the group, and then LUN permissions can be granted for
      the entire group at once.
      
      Instead of changing ktarget's configfs interface, this patch keeps
      the configfs interface per-initiator-wwn and just adds a 'tag' field
      for each. This should be enough for user tools like targetcli to group
      initiator ACLs and sync their configurations.
      
      acl_tag is not used internally, but needs to be kept in configfs so that
      all user tools can avoid dependencies on each other.
      
      Code tested to work, although userspace pieces still to be implemented.
      Signed-off-by: NAndy Grover <agrover@redhat.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      79e62fc3
    • E
      tuntap: dont use skb after netif_rx_ni(skb) · 49974420
      Eric Dumazet 提交于
      On Wed, 2012-12-12 at 23:16 -0500, Dave Jones wrote:
      > Since todays net merge, I see this when I start openvpn..
      >
      > general protection fault: 0000 [#1] PREEMPT SMP
      > Modules linked in: ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_conntrack nf_conntrack ip6table_filter ip6_tables xfs iTCO_wdt iTCO_vendor_support snd_emu10k1 snd_util_mem snd_ac97_codec coretemp ac97_bus microcode snd_hwdep snd_seq pcspkr snd_pcm snd_page_alloc snd_timer lpc_ich i2c_i801 snd_rawmidi mfd_core snd_seq_device snd e1000e soundcore emu10k1_gp gameport i82975x_edac edac_core vhost_net tun macvtap macvlan kvm_intel kvm binfmt_misc nfsd auth_rpcgss nfs_acl lockd sunrpc btrfs libcrc32c zlib_deflate firewire_ohci sata_sil firewire_core crc_itu_t radeon i2c_algo_bit drm_kms_helper ttm drm i2c_core floppy
      > CPU 0
      > Pid: 1381, comm: openvpn Not tainted 3.7.0+ #14                  /D975XBX
      > RIP: 0010:[<ffffffff815b54a4>]  [<ffffffff815b54a4>] skb_flow_dissect+0x314/0x3e0
      > RSP: 0018:ffff88007d0d9c48  EFLAGS: 00010206
      > RAX: 000000000000055d RBX: 6b6b6b6b6b6b6b4b RCX: 1471030a0180040a
      > RDX: 0000000000000005 RSI: 00000000ffffffe0 RDI: ffff8800ba83fa80
      > RBP: ffff88007d0d9cb8 R08: 0000000000000000 R09: 0000000000000000
      > R10: 0000000000000000 R11: 0000000000000101 R12: ffff8800ba83fa80
      > R13: 0000000000000008 R14: ffff88007d0d9cc8 R15: ffff8800ba83fa80
      > FS:  00007f6637104800(0000) GS:ffff8800bf600000(0000) knlGS:0000000000000000
      > CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      > CR2: 00007f563f5b01c4 CR3: 000000007d140000 CR4: 00000000000007f0
      > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      > Process openvpn (pid: 1381, threadinfo ffff88007d0d8000, task ffff8800a540cd60)
      > Stack:
      >  ffff8800ba83fa80 0000000000000296 0000000000000000 0000000000000000
      >  ffff88007d0d9cc8 ffffffff815bcff4 ffff88007d0d9ce8 ffffffff815b1831
      >  ffff88007d0d9ca8 00000000703f6364 ffff8800ba83fa80 0000000000000000
      > Call Trace:
      >  [<ffffffff815bcff4>] ? netif_rx+0x114/0x4c0
      >  [<ffffffff815b1831>] ? skb_copy_datagram_from_iovec+0x61/0x290
      >  [<ffffffff815b672a>] __skb_get_rxhash+0x1a/0xd0
      >  [<ffffffffa03b9538>] tun_get_user+0x418/0x810 [tun]
      >  [<ffffffff8135f468>] ? delay_tsc+0x98/0xf0
      >  [<ffffffff8109605c>] ? __rcu_read_unlock+0x5c/0xa0
      >  [<ffffffffa03b9a41>] tun_chr_aio_write+0x81/0xb0 [tun]
      >  [<ffffffff81145011>] ? __buffer_unlock_commit+0x41/0x50
      >  [<ffffffff811db917>] do_sync_write+0xa7/0xe0
      >  [<ffffffff811dc01f>] vfs_write+0xaf/0x190
      >  [<ffffffff811dc375>] sys_write+0x55/0xa0
      >  [<ffffffff81705540>] tracesys+0xdd/0xe2
      > Code: 41 8b 44 24 68 41 2b 44 24 6c 01 de 29 f0 83 f8 03 0f 8e a0 00 00 00 48 63 de 49 03 9c 24 e0 00 00 00 48 85 db 0f 84 72 fe ff ff <8b> 03 41 89 46 08 b8 01 00 00 00 e9 43 fd ff ff 0f 1f 40 00 48
      > RIP  [<ffffffff815b54a4>] skb_flow_dissect+0x314/0x3e0
      >  RSP <ffff88007d0d9c48>
      > ---[ end trace 6d42c834c72c002e ]---
      >
      >
      > Faulting instruction is
      >
      >    0:	8b 03                	mov    (%rbx),%eax
      >
      > rbx is slab poison (-20) so this looks like a use-after-free here...
      >
      >                         flow->ports = *ports;
      >  314:   8b 03                   mov    (%rbx),%eax
      >  316:   41 89 46 08             mov    %eax,0x8(%r14)
      >
      > in the inlined skb_header_pointer in skb_flow_dissect
      >
      > 	Dave
      >
      
      commit 96442e42 (tuntap: choose the txq based on rxq) added
      a use after free.
      
      Cache rxhash in a temp variable before calling netif_rx_ni()
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Acked-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49974420
    • T
      VIDEO: Newport Fix console crashes · fa4dbbc6
      Thomas Bogendoerfer 提交于
      Because of commit e84de0c6 [MIPS: GIO bus
      support for SGI IP22/28] newport con is now taking over console from
      dummy con, therefore it's necessary to resize the VC to the correct size
      to avoid crashes and garbage on console
      Signed-off-by: NThomas Bogendoerfer <tsbogend@alpha.franken.de>
      Cc: linux-mips@linux-mips.org
      Cc: linux-fbdev@vger.kernel.org
      Cc: FlorianSchandinat@gmx.de
      Patchwork: https://patchwork.linux-mips.org/patch/4138/Acked-by: NFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      fa4dbbc6
    • D
      MIPS/EDAC: Improve OCTEON EDAC support. · e1ced097
      David Daney 提交于
      Some initialization errors are reported with the existing OCTEON EDAC
      support patch.  Also some parts have more than one memory controller.
      
      Fix the errors and add multiple controllers if present.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      e1ced097
    • D
      ata: pata_octeon_cf: Use correct byte order for DMA in when built little-endian. · 1007c4bc
      David Daney 提交于
      We need to set the 'endian' bit in this case.
      Acked-by: NJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      1007c4bc
    • D
      MIPS/OCTEON/ata: Convert pata_octeon_cf.c to use device tree. · 43f01da0
      David Daney 提交于
      The patch needs to eliminate the definition of OCTEON_IRQ_BOOTDMA so
      that the device tree code can map the interrupt, so in order to not
      temporarily break things, we do a single patch to both the interrupt
      registration code and the pata_octeon_cf driver.
      
      Also rolled in is a conversion to use hrtimers and corrections to the
      timing calculations.
      Acked-by: NJeff Garzik <jgarzik@redhat.com>
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      43f01da0
  3. 13 12月, 2012 13 次提交
    • T
      OMAPDSS: fix TV-out issue with DSI PLL · bd0f5cc3
      Tomi Valkeinen 提交于
      Commit 0e8276ef (OMAPDSS: DPI: always
      use DSI PLL if available) made dpi.c use DSI PLL for its clock. This
      works fine, for DPI, but has a nasty side effect on OMAP3:
      
      On OMAP3 the same clock is used for DISPC fclk and LCD output. Thus,
      after the above patch, DSI PLL is used for DISPC and LCD output. If
      TV-out is used, the TV-out needs DISPC. And if DPI is turned off, the
      DSI PLL is also turned off, disabling DISPC.
      
      For this to work, we'd need proper DSS internal clock handling, with
      refcounts, which is a non-trivial project.
      
      This patch fixes the issue for now by disabling the use of DSI PLL for
      DPI on OMAP3.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      bd0f5cc3
    • T
      Revert "OMAPFB: simplify locking" · 3ed37d9a
      Tomi Valkeinen 提交于
      This reverts commit b41deecb.
      
      The simpler locking causes huge latencies when two processes use the
      omapfb, even if they use different framebuffers.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      3ed37d9a
    • T
      OMAPFB: remove silly loop in fb2display() · c7e1eae5
      Tomi Valkeinen 提交于
      fb2display() has a for loop which always returns at the first iteration.
      Replace the loop with a simple if.
      
      This removes the smatch warning:
      
      drivers/video/omap2/omapfb/omapfb.h:153 fb2display() info: loop could be
      replaced with if statement.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      c7e1eae5
    • T
      OMAPFB: fix error handling in omapfb_find_best_mode() · fa0c5e71
      Tomi Valkeinen 提交于
      omapfb_find_best_mode() doesn't check for the return value of kmalloc.
      Fix this. This also removes the smatch warning:
      
      drivers/video/omap2/omapfb/omapfb-main.c:2256 omapfb_find_best_mode()
      error: potential null dereference 'specs'.  (kzalloc returns null)
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      fa0c5e71
    • T
      OMAPFB: use devm_kzalloc to allocate omapfb2_device · 057eeaee
      Tomi Valkeinen 提交于
      Use devm_kzalloc to allocate omapfb2_device. This fixes possible memory
      leak:
      
      drivers/video/omap2/omapfb/omapfb-main.c:2553 omapfb_probe() warn:
      possible memory leak of 'fbdev'
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      057eeaee
    • Y
      target/tcm_fc: fix the lockdep warning due to inconsistent lock state · 9f4ad44b
      Yi Zou 提交于
      The lockdep warning below is in theory correct but it will be in really weird
      rare situation that ends up that deadlock since the tcm fc session is hashed
      based the rport id. Nonetheless, the complaining below is about rcu callback
      that does the transport_deregister_session() is happening in softirq, where
      transport_register_session() that happens earlier is not. This triggers the
      lockdep warning below. So, just fix this to make lockdep happy by disabling
      the soft irq before calling transport_register_session() in ft_prli.
      
      BTW, this was found in FCoE VN2VN over two VMs, couple of create and destroy
      would get this triggered.
      
      v1: was enforcing register to be in softirq context which was not righ. See,
      http://www.spinics.net/lists/target-devel/msg03614.html
      
      v2: following comments from Roland&Nick (thanks), it seems we don't have to
      do transport_deregister_session() in rcu callback, so move it into ft_sess_free()
      but still do kfree() of the corresponding ft_sess struct in rcu callback to
      make sure the ft_sess is not freed till the rcu callback.
      
      ...
      [ 1328.370592] scsi2 : FCoE Driver
      [ 1328.383429] fcoe: No FDMI support.
      [ 1328.384509] host2: libfc: Link up on port (000000)
      [ 1328.934229] host2: Assigned Port ID 00a292
      [ 1357.232132] host2: rport 00a393: Remove port
      [ 1357.232568] host2: rport 00a393: Port sending LOGO from Ready state
      [ 1357.233692] host2: rport 00a393: Delete port
      [ 1357.234472] host2: rport 00a393: work event 3
      [ 1357.234969] host2: rport 00a393: callback ev 3
      [ 1357.235979] host2: rport 00a393: Received a LOGO response closed
      [ 1357.236706] host2: rport 00a393: work delete
      [ 1357.237481]
      [ 1357.237631] =================================
      [ 1357.238064] [ INFO: inconsistent lock state ]
      [ 1357.238450] 3.7.0-rc7-yikvm+ #3 Tainted: G           O
      [ 1357.238450] ---------------------------------
      [ 1357.238450] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
      [ 1357.238450] ksoftirqd/0/3 [HC0[0]:SC1[1]:HE0:SE0] takes:
      [ 1357.238450]  (&(&se_tpg->session_lock)->rlock){+.?...}, at: [<ffffffffa01eacd4>] transport_deregister_session+0x41/0x148 [target_core_mod]
      [ 1357.238450] {SOFTIRQ-ON-W} state was registered at:
      [ 1357.238450]   [<ffffffff810834f5>] mark_held_locks+0x6d/0x95
      [ 1357.238450]   [<ffffffff8108364a>] trace_hardirqs_on_caller+0x12d/0x197
      [ 1357.238450]   [<ffffffff810836c1>] trace_hardirqs_on+0xd/0xf
      [ 1357.238450]   [<ffffffff8149caba>] _raw_spin_unlock_irq+0x2d/0x45
      [ 1357.238450]   [<ffffffffa01e8d10>] __transport_register_session+0xb8/0x122 [target_core_mod]
      [ 1357.238450]   [<ffffffffa01e8dbe>] transport_register_session+0x44/0x5a [target_core_mod]
      [ 1357.238450]   [<ffffffffa018e32c>] ft_prli+0x1e3/0x275 [tcm_fc]
      [ 1357.238450]   [<ffffffffa0160e8d>] fc_rport_recv_req+0x95e/0xdc5 [libfc]
      [ 1357.238450]   [<ffffffffa015be88>] fc_lport_recv_els_req+0xc4/0xd5 [libfc]
      [ 1357.238450]   [<ffffffffa015c778>] fc_lport_recv_req+0x12f/0x18f [libfc]
      [ 1357.238450]   [<ffffffffa015a6d7>] fc_exch_recv+0x8ba/0x981 [libfc]
      [ 1357.238450]   [<ffffffffa0176d7a>] fcoe_percpu_receive_thread+0x47a/0x4e2 [fcoe]
      [ 1357.238450]   [<ffffffff810549f1>] kthread+0xb1/0xb9
      [ 1357.238450]   [<ffffffff814a40ec>] ret_from_fork+0x7c/0xb0
      [ 1357.238450] irq event stamp: 275411
      [ 1357.238450] hardirqs last  enabled at (275410): [<ffffffff810bb6a0>] rcu_process_callbacks+0x229/0x42a
      [ 1357.238450] hardirqs last disabled at (275411): [<ffffffff8149c2f7>] _raw_spin_lock_irqsave+0x22/0x8e
      [ 1357.238450] softirqs last  enabled at (275394): [<ffffffff8103d669>] __do_softirq+0x246/0x26f
      [ 1357.238450] softirqs last disabled at (275399): [<ffffffff8103d6bb>] run_ksoftirqd+0x29/0x62
      [ 1357.238450]
      [ 1357.238450] other info that might help us debug this:
      [ 1357.238450]  Possible unsafe locking scenario:
      [ 1357.238450]
      [ 1357.238450]        CPU0
      [ 1357.238450]        ----
      [ 1357.238450]   lock(&(&se_tpg->session_lock)->rlock);
      [ 1357.238450]   <Interrupt>
      [ 1357.238450]     lock(&(&se_tpg->session_lock)->rlock);
      [ 1357.238450]
      [ 1357.238450]  *** DEADLOCK ***
      [ 1357.238450]
      [ 1357.238450] no locks held by ksoftirqd/0/3.
      [ 1357.238450]
      [ 1357.238450] stack backtrace:
      [ 1357.238450] Pid: 3, comm: ksoftirqd/0 Tainted: G           O 3.7.0-rc7-yikvm+ #3
      [ 1357.238450] Call Trace:
      [ 1357.238450]  [<ffffffff8149399a>] print_usage_bug+0x1f5/0x206
      [ 1357.238450]  [<ffffffff8100da59>] ? save_stack_trace+0x2c/0x49
      [ 1357.238450]  [<ffffffff81082aae>] ? print_irq_inversion_bug.part.14+0x1ae/0x1ae
      [ 1357.238450]  [<ffffffff81083336>] mark_lock+0x106/0x258
      [ 1357.238450]  [<ffffffff81084e34>] __lock_acquire+0x2e7/0xe53
      [ 1357.238450]  [<ffffffff8102903d>] ? pvclock_clocksource_read+0x48/0xb4
      [ 1357.238450]  [<ffffffff810ba6a3>] ? rcu_process_gp_end+0xc0/0xc9
      [ 1357.238450]  [<ffffffffa01eacd4>] ? transport_deregister_session+0x41/0x148 [target_core_mod]
      [ 1357.238450]  [<ffffffff81085ef1>] lock_acquire+0x119/0x143
      [ 1357.238450]  [<ffffffffa01eacd4>] ? transport_deregister_session+0x41/0x148 [target_core_mod]
      [ 1357.238450]  [<ffffffff8149c329>] _raw_spin_lock_irqsave+0x54/0x8e
      [ 1357.238450]  [<ffffffffa01eacd4>] ? transport_deregister_session+0x41/0x148 [target_core_mod]
      [ 1357.238450]  [<ffffffffa01eacd4>] transport_deregister_session+0x41/0x148 [target_core_mod]
      [ 1357.238450]  [<ffffffff810bb6a0>] ? rcu_process_callbacks+0x229/0x42a
      [ 1357.238450]  [<ffffffffa018ddc5>] ft_sess_rcu_free+0x17/0x24 [tcm_fc]
      [ 1357.238450]  [<ffffffffa018ddae>] ? ft_sess_free+0x1b/0x1b [tcm_fc]
      [ 1357.238450]  [<ffffffff810bb6d7>] rcu_process_callbacks+0x260/0x42a
      [ 1357.238450]  [<ffffffff8103d55d>] __do_softirq+0x13a/0x26f
      [ 1357.238450]  [<ffffffff8149b34e>] ? __schedule+0x65f/0x68e
      [ 1357.238450]  [<ffffffff8103d6bb>] run_ksoftirqd+0x29/0x62
      [ 1357.238450]  [<ffffffff8105c83c>] smpboot_thread_fn+0x1a5/0x1aa
      [ 1357.238450]  [<ffffffff8105c697>] ? smpboot_unregister_percpu_thread+0x47/0x47
      [ 1357.238450]  [<ffffffff810549f1>] kthread+0xb1/0xb9
      [ 1357.238450]  [<ffffffff8149b49d>] ? wait_for_common+0xbb/0x10a
      [ 1357.238450]  [<ffffffff81054940>] ? __init_kthread_worker+0x59/0x59
      [ 1357.238450]  [<ffffffff814a40ec>] ret_from_fork+0x7c/0xb0
      [ 1357.238450]  [<ffffffff81054940>] ? __init_kthread_worker+0x59/0x59
      [ 1417.440099]  rport-2:0-0: blocked FC remote port time out: removing rport
      Signed-off-by: NYi Zou <yi.zou@intel.com>
      Cc: Open-FCoE <devel@open-fcoe.org>
      Cc: Nicholas A. Bellinger <nab@risingtidesystems.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      9f4ad44b
    • C
      sbp-target: fix error path in sbp_make_tpg() · e1fe2060
      Chris Boot 提交于
      If the TPG memory is allocated successfully, but we fail further along
      in the function, a dangling pointer to freed memory is left in the TPort
      structure. This is mostly harmless, but does prevent re-trying the
      operation without first removing the TPort altogether.
      Reported-by: NChen Gang <gang.chen@asianux.com>
      Signed-off-by: NChris Boot <bootc@bootc.net>
      Cc: Andy Grover <agrover@redhat.com>
      Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      e1fe2060
    • C
      sbp-target: use simple assignment in tgt_agent_rw_agent_state() · 37419d67
      Chris Boot 提交于
      There is no need to memcpy() a 32-bit integer. The data pointer is
      guaranteed to be quadlet aligned by the FireWire stack so we can replace
      the memcpy() with an assignment.
      
      Thanks to Stefan Richter.
      Signed-off-by: NChris Boot <bootc@bootc.net>
      Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Andy Grover <agrover@redhat.com>
      Cc: Clemens Ladisch <clemens@ladisch.de>
      Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      37419d67
    • L
      numa: add CONFIG_MOVABLE_NODE for movable-dedicated node · 20b2f52b
      Lai Jiangshan 提交于
      We need a node which only contains movable memory.  This feature is very
      important for node hotplug.  If a node has normal/highmem, the memory may
      be used by the kernel and can't be offlined.  If the node only contains
      movable memory, we can offline the memory and the node.
      
      All are prepared, we can actually introduce N_MEMORY.
      add CONFIG_MOVABLE_NODE make we can use it for movable-dedicated node
      
      [akpm@linux-foundation.org: fix Kconfig text]
      Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
      Tested-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Cc: Jiang Liu <jiang.liu@huawei.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Minchan Kim <minchan.kim@gmail.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      20b2f52b
    • L
      hugetlb: use N_MEMORY instead N_HIGH_MEMORY · 8cebfcd0
      Lai Jiangshan 提交于
      N_HIGH_MEMORY stands for the nodes that has normal or high memory.
      N_MEMORY stands for the nodes that has any memory.
      
      The code here need to handle with the nodes which have memory, we should
      use N_MEMORY instead.
      Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
      Acked-by: NHillf Danton <dhillf@gmail.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Hillf Danton <dhillf@gmail.com>
      Cc: Lin Feng <linfeng@cn.fujitsu.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8cebfcd0
    • Y
      net/mlx4_en: Add support for destination MAC in steering rules · 520dfe3a
      Yan Burman 提交于
      Implement destination MAC rule extension for L3/L4 rules in
      flow steering. Usefull for vSwitch/macvlan configurations.
      Signed-off-by: NYan Burman <yanb@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      520dfe3a
    • Y
      net/mlx4_en: Use generic etherdevice.h functions. · c402b947
      Yan Burman 提交于
      Get rid of full_mac, zero_mac in favour of
      is_zero_ether_addr and is_broadcast_ether_addr.
      Signed-off-by: NYan Burman <yanb@mellanox.com>
      Signed-off-by: NAmir Vadai <amirv@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c402b947
    • B
      HID: i2c-hid: add mutex protecting open/close race · 7a7d6d9c
      Benjamin Tissoires 提交于
      We should not enter close function while someone else is in open.
      This mutex prevents this race.
      
      There is also no need to override the ret value with -EIO in case of
      a failure of i2c_hid_set_power.
      Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@gmail.com>
      Reviewed-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      7a7d6d9c
  4. 12 12月, 2012 10 次提交
    • A
      Revert "HID: sensors: add to special driver list" · 68fd32b8
      Alexander Holler 提交于
      Those IDs aren't necessary anymore.
      
      This reverts commit c8147d9e.
      Signed-off-by: NAlexander Holler <holler@ahsoftware.de>
      Acked-by: N"Pandruvada, Srinivas" <srinivas.pandruvada@intel.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      68fd32b8
    • A
      HID: sensors: autodetect USB HID sensor hubs · 83499b52
      Alexander Holler 提交于
      It should not be necessary to add IDs for HID sensor hubs to lists in
      hid-core.c and hid-sensor-hub.c. So instead of a whitelist, autodetect such USB
      HID sensor hubs, based on a collection of type physical inside a useage page of
      type sensor. If some sensor hubs stil must be usable as raw devices, a
      blacklist might be created.
      Signed-off-by: NAlexander Holler <holler@ahsoftware.de>
      Acked-by: N"Pandruvada, Srinivas" <srinivas.pandruvada@intel.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      83499b52
    • R
      MIPS: Cavium: Add EDAC support. · f65aad41
      Ralf Baechle 提交于
      Drivers for EDAC on Cavium.  Supported subsystems are:
      
       o CPU primary caches.  These are parity protected only, so only error
         reporting.
       o Second level cache - ECC protected, provides SECDED.
       o Memory: ECC / SECDEC if used with suitable DRAM modules.  The driver will
         will only initialize if ECC is enabled on a system so is safe to run on
         non-ECC memory.
       o PCI: Parity error reporting
      
      Since it is very hard to test this sort of code the implementation is very
      conservative and uses polling where possible for now.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Reviewed-by: NBorislav Petkov <borislav.petkov@amd.com>
      f65aad41
    • T
      OMAPDSS: DISPC: remove dispc fck uses · 8105c94b
      Tomi Valkeinen 提交于
      The previous patch changes dispc to get the dispc fck rate from dss core
      driver. This was the only use of the dispc fck in dispc, and thus we can
      now remove the clock handling.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      8105c94b
    • T
      OMAPDSS: DISPC: get dss clock rate from dss driver · 5aaee69d
      Tomi Valkeinen 提交于
      Dispc currently gets dispc's fck with clk_get() and uses clk_get_rate()
      to get the rate for scaling calculations. This causes a problem with
      common clock framework, as omapdss uses the dispc functions inside a
      spinlock, and common clock framework uses a mutex in clk_get_rate().
      
      Looking at the DSS clock tree, the above use of the dispc fck is not
      quite correct. The DSS_FCLK from PRCM goes to DSS core block, which has
      a mux to select the clock for DISPC from various options, so the current
      use of dispc fck bypasses that. Fortunately we never change the dispc
      clock mux for now.
      
      To fix the issue with clk_get_rate(), this patch caches the dss clock
      rate in dss.c when it is set. Dispc will then ask for the clock rate
      from dss. While this is not very elegant, it does fix the issue, and
      it's not totally wrong when considering that the dispc fck actually
      comes via dss.
      
      In the future we should probably look into common clock framework and
      see if that could be used to represent the DSS clock tree properly.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      5aaee69d
    • Z
      Thermal: Fix DEFAULT_THERMAL_GOVERNOR · 1f53ef17
      Zhang Rui 提交于
      Fix DEFAULT_THERMAL_GOVERNOR to be consistant with the
      default governor selected in kernel config file.
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      1f53ef17
    • Z
      Thermal: fix a NULL pointer dereference when generic thermal layer is built as a module · d567c686
      Zhang Rui 提交于
      [   12.761956] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
      [   12.762016] IP: [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys]
      [   12.762060] PGD 1fec74067 PUD 1fee5b067 PMD 0
      [   12.762127] Oops: 0000 [#1] SMP
      [   12.762177] Modules linked in: hid_generic crc32c_intel usbhid hid firewire_ohci(+) e1000e(+) firewire_core crc_itu_t xhci_hcd(+) thermal(+) fan thermal_sys hwmon
      [   12.762423] CPU 1
      [   12.762443] Pid: 187, comm: modprobe Tainted: G       A     3.7.0-thermal-module+ #25                  /DH77DF
      [   12.762496] RIP: 0010:[<ffffffffa0005277>]  [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys]
      [   12.762682] RSP: 0018:ffff8801fe7ddc18  EFLAGS: 00010282
      [   12.762704] RAX: 0000000000000000 RBX: ffff8801ff3e9c00 RCX: ffff8801fdc39800
      [   12.762728] RDX: ffff8801fe7ddc24 RSI: 0000000000000001 RDI: ffff8801ff3e9c00
      [   12.762764] RBP: ffff8801fe7ddc48 R08: 0000000004000000 R09: ffffffffa001f568
      [   12.762797] R10: ffffffff81363083 R11: 0000000000000001 R12: 0000000000000001
      [   12.762832] R13: 0000000000000000 R14: 0000000000000001 R15: ffff8801fde73e68
      [   12.762866] FS:  00007f5548516700(0000) GS:ffff88021f240000(0000) knlGS:0000000000000000
      [   12.762912] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   12.762946] CR2: 0000000000000018 CR3: 00000001fefe2000 CR4: 00000000001407e0
      [   12.762979] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   12.763014] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [   12.763048] Process modprobe (pid: 187, threadinfo ffff8801fe7dc000, task ffff8801fe5bdb40)
      [   12.763095] Stack:
      [   12.763122]  0000000000019640 00000000fdc39800 ffff8801fe7ddc48 ffff8801ff3e9c00
      [   12.763225]  0000000000000002 0000000000000000 ffff8801fe7ddc78 ffffffffa00053e7
      [   12.763338]  ffff8801ff3e9c00 0000000000006c98 ffffffffa0007480 ffff8801ff3e9c00
      [   12.763440] Call Trace:
      [   12.763470]  [<ffffffffa00053e7>] thermal_zone_device_update+0x77/0xa0 [thermal_sys]
      [   12.763515]  [<ffffffffa0006d38>] thermal_zone_device_register+0x788/0xa88 [thermal_sys]
      [   12.763562]  [<ffffffffa001f394>] acpi_thermal_add+0x360/0x4c8 [thermal]
      [   12.763598]  [<ffffffff8133902a>] acpi_device_probe+0x50/0x190
      [   12.763632]  [<ffffffff811bd793>] ? sysfs_create_link+0x13/0x20
      [   12.763666]  [<ffffffff813cc41b>] driver_probe_device+0x7b/0x240
      [   12.763699]  [<ffffffff813cc68b>] __driver_attach+0xab/0xb0
      [   12.763732]  [<ffffffff813cc5e0>] ? driver_probe_device+0x240/0x240
      [   12.763766]  [<ffffffff813ca836>] bus_for_each_dev+0x56/0x90
      [   12.763799]  [<ffffffff813cbf4e>] driver_attach+0x1e/0x20
      [   12.763831]  [<ffffffff813cbac0>] bus_add_driver+0x190/0x290
      [   12.763864]  [<ffffffffa0022000>] ? 0xffffffffa0021fff
      [   12.763896]  [<ffffffff813ccbea>] driver_register+0x7a/0x160
      [   12.763928]  [<ffffffffa0022000>] ? 0xffffffffa0021fff
      [   12.763960]  [<ffffffff813399fb>] acpi_bus_register_driver+0x43/0x45
      [   12.763995]  [<ffffffffa002203a>] acpi_thermal_init+0x3a/0x42 [thermal]
      [   12.764029]  [<ffffffff8100207f>] do_one_initcall+0x3f/0x170
      [   12.764063]  [<ffffffff810b1a5f>] sys_init_module+0x8f/0x200
      [   12.764097]  [<ffffffff815ff259>] system_call_fastpath+0x16/0x1b
      [   12.764129] Code: 48 8b 87 c8 02 00 00 41 89 f4 48 8d 55 dc ff 50 28 44 8b 6d dc 41 8d 45 fe 83 f8 01 76 5e 48 8b 83 d8 02 00 00 44 89 e6 48 89 df <ff> 50 18 4c 8d a3 10 03 00 00 4c 89 e7 e8 87 f1 5e e1 8b 83 bc
      [   12.765164] RIP  [<ffffffffa0005277>] handle_thermal_trip+0x47/0x130 [thermal_sys]
      [   12.765223]  RSP <ffff8801fe7ddc18>
      [   12.765252] CR2: 0000000000000018
      [   12.765284] ---[ end trace 7723294cdfb00d2a ]---
      
      This is because thermal_zone_device_update() is invoked before
      any thermal governors being registered.
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      d567c686
    • D
      solos-pci: fix double-free of TX skb in DMA mode · cae49ede
      David Woodhouse 提交于
      We weren't clearing card->tx_skb[port] when processing the TX done interrupt.
      If there wasn't another skb ready to transmit immediately, this led to a
      double-free because we'd free it *again* next time we did have a packet to
      send.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cae49ede
    • M
      bnx2: Fix accidental reversions. · fda4d85d
      Michael Chan 提交于
      Commit 4ce45e02
      "bnx2: Add BNX2 prefix to CHIP ID and name macros"
      
      accidentally reverted 2 commits to use pci_ioumap() and to make
      pci_error_handlers const.  This fixes those mistakes.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fda4d85d
    • L
      mm, memory-hotplug: dynamic configure movable memory and portion memory · 511c2aba
      Lai Jiangshan 提交于
      Add online_movable and online_kernel for logic memory hotplug.  This is
      the dynamic version of "movablecore" & "kernelcore".
      
      We have the same reason to introduce it as to introduce "movablecore" &
      "kernelcore".  It has the same motive as "movablecore" & "kernelcore", but
      it is dynamic/running-time:
      
      o We can configure memory as kernelcore or movablecore after boot.
      
        Userspace workload is increased, we need more hugepage, we can't use
        "online_movable" to add memory and allow the system use more
        THP(transparent-huge-page), vice-verse when kernel workload is increase.
      
        Also help for virtualization to dynamic configure host/guest's memory,
        to save/(reduce waste) memory.
      
        Memory capacity on Demand
      
      o When a new node is physically online after boot, we need to use
        "online_movable" or "online_kernel" to configure/portion it as we
        expected when we logic-online it.
      
        This configuration also helps for physically-memory-migrate.
      
      o all benefit as the same as existed "movablecore" & "kernelcore".
      
      o Preparing for movable-node, which is very important for power-saving,
        hardware partitioning and high-available-system(hardware fault
        management).
      
      (Note, we don't introduce movable-node here.)
      
      Action behavior:
      When a memoryblock/memorysection is onlined by "online_movable", the kernel
      will not have directly reference to the page of the memoryblock,
      thus we can remove that memory any time when needed.
      
      When it is online by "online_kernel", the kernel can use it.
      When it is online by "online", the zone type doesn't changed.
      
      Current constraints:
      Only the memoryblock which is adjacent to the ZONE_MOVABLE
      can be online from ZONE_NORMAL to ZONE_MOVABLE.
      
      [akpm@linux-foundation.org: use min_t, cleanups]
      Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
      Cc: Jiang Liu <jiang.liu@huawei.com>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Minchan Kim <minchan.kim@gmail.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      511c2aba