1. 21 1月, 2017 4 次提交
  2. 06 1月, 2017 2 次提交
  3. 08 12月, 2016 1 次提交
  4. 30 11月, 2016 1 次提交
  5. 25 11月, 2016 8 次提交
  6. 09 11月, 2016 2 次提交
  7. 15 9月, 2016 9 次提交
  8. 26 8月, 2016 2 次提交
  9. 13 7月, 2016 2 次提交
    • J
      hisi_sas: fix the inconsistent lock issue reported by CONFIG_PROVE_LOCKING · 308d85d1
      John Garry 提交于
      It is not necessary to surround call to
      notify_port_event(, PORTE_BROADCAST_RCVD) by spin_lock_irqsave(),
      so remove.
      This was causing a warn, as below:
      
          =================================
          [ INFO: inconsistent lock state ]
          4.4.8+ #12 Not tainted
          ---------------------------------
          inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
          kworker/u64:1/168 [HC0[0]:SC0[0]:HE1:SE1] takes:
           (&(&hisi_hba->lock)->rlock){?.....}, at: [<ffffffc00052c708>] alloc_dev_quirk_v2_hw+0x48/0xec
          {IN-HARDIRQ-W} state was registered at:
            [<ffffffc0000fc764>] mark_lock+0x19c/0x6a0
            [<ffffffc0000fdc14>] __lock_acquire+0xa2c/0x1d00
            [<ffffffc0000ff654>] lock_acquire+0x58/0x7c
            [<ffffffc0008b609c>] _raw_spin_lock_irqsave+0x54/0x6c
            [<ffffffc00052d3c0>] int_chnl_int_v2_hw+0x1c4/0x248
            [<ffffffc0001098e8>] handle_irq_event_percpu+0x9c/0x144
            [<ffffffc0001099d4>] handle_irq_event+0x44/0x74
            [<ffffffc00010cd68>] handle_fasteoi_irq+0xb4/0x188
            [<ffffffc000108ea8>] generic_handle_irq+0x24/0x38
            [<ffffffc0001091fc>] __handle_domain_irq+0x60/0xac
            [<ffffffc00008261c>] gic_handle_irq+0xcc/0x168
            [<ffffffc0000855ac>] el1_irq+0x6c/0xe0
            [<ffffffc0000f7414>] default_idle_call+0x1c/0x34
            [<ffffffc0000f7654>] cpu_startup_entry+0x1d4/0x228
            [<ffffffc0008aecd8>] rest_init+0x150/0x160
            [<ffffffc000c4b95c>] start_kernel+0x3a4/0x3b8
            [<00000000008bb000>] 0x8bb000
          irq event stamp: 32661
          hardirqs last  enabled at (32661): [<ffffffc0008b41a8>] __mutex_unlock_slowpath+0x108/0x18c
          hardirqs last disabled at (32660): [<ffffffc0008b40e4>] __mutex_unlock_slowpath+0x44/0x18c
          softirqs last  enabled at (25114): [<ffffffc0000bde68>] __do_softirq+0x210/0x27c
          softirqs last disabled at (25095): [<ffffffc0000be224>] irq_exit+0x9c/0xe8
      
          other info that might help us debug this:
           Possible unsafe locking scenario:
      
                 CPU0
                 ----
            lock(&(&hisi_hba->lock)->rlock);
            <Interrupt>
              lock(&(&hisi_hba->lock)->rlock);
      
           *** DEADLOCK ***
      
          2 locks held by kworker/u64:1/168:
           #0:  ("%s"shost->work_q_name){++++.+}, at: [<ffffffc0000d2980>] process_one_work+0x134/0x3cc
           #1:  ((&sw->work)#2){+.+.+.}, at: [<ffffffc0000d2980>] process_one_work+0x134/0x3cc
      
          stack backtrace:
          CPU: 4 PID: 168 Comm: kworker/u64:1 Not tainted 4.4.8+ #12
          Hardware name: Huawei Technologies Co., Ltd. D03/D03, BIOS 1.12 01/01/1900
          Workqueue: scsi_wq_1 sas_discover_domain
          Call trace:
          [<ffffffc000089988>] dump_backtrace+0x0/0x114
          [<ffffffc000089ab0>] show_stack+0x14/0x1c
          [<ffffffc00035ac50>] dump_stack+0xb4/0xf0
          [<ffffffc0000fc524>] print_usage_bug+0x210/0x2b4
          [<ffffffc0000fcbc4>] mark_lock+0x5fc/0x6a0
          [<ffffffc0000fd9e8>] __lock_acquire+0x800/0x1d00
          [<ffffffc0000ff654>] lock_acquire+0x58/0x7c
          [<ffffffc0008b5edc>] _raw_spin_lock+0x44/0x58
          [<ffffffc00052c708>] alloc_dev_quirk_v2_hw+0x48/0xec
          [<ffffffc000528214>] hisi_sas_dev_found+0x48/0x1b8
          [<ffffffc00051a9b8>] sas_notify_lldd_dev_found+0x34/0xe0
          [<ffffffc00051e5e8>] sas_discover_root_expander+0x58/0x128
          [<ffffffc00051b38c>] sas_discover_domain+0x4bc/0x564
          [<ffffffc0000d29ec>] process_one_work+0x1a0/0x3cc
          [<ffffffc0000d2d50>] worker_thread+0x138/0x438
          [<ffffffc0000d9494>] kthread+0xdc/0xf0
          [<ffffffc000085c50>] ret_from_fork+0x10/0x40
      Signed-off-by: NWei Xu <xuwei5@hisilicon.com>
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Reviewed-by: NZhangfei Gao <zhangfei.gao@linaro.org>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      308d85d1
    • J
      hisi_sas: add v2 hw ACPI support · 50408712
      John Garry 提交于
      Add support in v2 hw driver for ACPI.
      
      A check on whether an ACPI handle is available for the device is used to
      decide on whether to use ACPI reset handler or syscon for hw reset.
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NWei Xu <xuwei5@hisilicon.com>
      Reviewed-by: NZhangfei Gao <zhangfei.gao@linaro.org>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      50408712
  10. 10 5月, 2016 2 次提交
  11. 16 4月, 2016 6 次提交
  12. 01 3月, 2016 1 次提交