Bug 85151 - pm80xx + 7805H + HP SAS port expander = mpi_smp_completion 2604:smp IO status 0x2 and sas: expander ... discovery failed(0xffffffa6)
Summary: pm80xx + 7805H + HP SAS port expander = mpi_smp_completion 2604:smp IO status...
Status: NEW
Alias: None
Product: SCSI Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: scsi_drivers-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-25 14:44 UTC by linux-ide
Modified: 2014-10-19 12:18 UTC (History)
3 users (show)

See Also:
Kernel Version: 3.17
Subsystem:
Regression: No
Bisected commit-id:


Attachments
pm80xx dmesg even more verbose output after patching pm80xx.ko (206.27 KB, text/plain)
2014-10-10 21:11 UTC, linux-ide
Details
dmesg after first pm80xx patch, having 2 expanders attached in parallel (1.69 MB, text/plain)
2014-10-19 12:18 UTC, linux-ide
Details

Description linux-ide 2014-09-25 14:44:58 UTC
ASRock H81 + Intel Celeron G1840
 Adaptec 7805H
  HP SAS Expander, firmware 2.08

Steps to reproduce:
1. blacklist pm80xx
2. reboot
3. modprobe -v pm80xx
insmod /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/scsi_transport_sas.ko
insmod /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/libsas/libsas.ko
insmod /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/pm8001/pm80xx.ko

Dmesg output returns failure and sas discovery failure messages. And "lsscsi -g" does not show new devices.


Dmesg output:
[   85.396376] pm80xx 0000:01:00.0: pm80xx: driver version 0.1.37
[   85.396441] pm80xx 0000:01:00.0: enabling device (0000 -> 0002)
[   86.258014] scsi host2: pm80xx
[   86.258261] pm80xx 0000:01:00.0: irq 29 for MSI/MSI-X
...
[   86.261347] pm80xx 0000:01:00.0: irq 92 for MSI/MSI-X
[   86.757671] sas: phy-2:4 added to port-2:0, phy_mask:0x10 (5001438023aad066)
[   86.758242] sas: phy-2:5 added to port-2:1, phy_mask:0x20 (5001438023aad066)
[   86.758699] sas: phy-2:6 added to port-2:2, phy_mask:0x40 (5001438023aad066)
[   86.759163] sas: phy-2:7 added to port-2:3, phy_mask:0x80 (5001438023aad066)
[   86.759579] sas: DOING DISCOVERY on port 0, pid:60
[   86.762141] pm80xx mpi_smp_completion 2604:smp IO status 0x2
[   86.762587] sas: expander 5001438023aad066 discovery failed(0xffffffa6)
[   86.763278] sas: DONE DISCOVERY on port 0, pid:60, result:-90
[   86.763766] sas: DOING DISCOVERY on port 1, pid:60
[   86.764597] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.765155] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.765710] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.766269] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   86.767097] sas: DONE DISCOVERY on port 1, pid:60, result:-70
[   86.767704] sas: DOING DISCOVERY on port 2, pid:60
[   86.768601] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.769272] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.769981] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.770601] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   86.771400] sas: DONE DISCOVERY on port 2, pid:60, result:-70
[   86.772067] sas: DOING DISCOVERY on port 3, pid:60
[   86.773587] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.774592] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.775596] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   86.776273] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   86.778343] sas: DONE DISCOVERY on port 3, pid:60, result:-70

Regression:
1. Different HBA SAS connector, SAS cable and HP SAS expander:
[  558.633914] pm80xx 0000:01:00.0: pm80xx: driver version 0.1.37
[  558.633984] pm80xx 0000:01:00.0: enabling device (0000 -> 0002)
[  559.495069] scsi host2: pm80xx
[  559.495922] pm80xx 0000:01:00.0: irq 29 for MSI/MSI-X
...
[  559.499132] pm80xx 0000:01:00.0: irq 92 for MSI/MSI-X
[  559.993123] sas: phy-2:0 added to port-2:0, phy_mask:0x1 (5001438018c7ed26)
[  559.993660] sas: phy-2:1 added to port-2:1, phy_mask:0x2 (5001438018c7ed26)
[  559.994187] sas: phy-2:2 added to port-2:2, phy_mask:0x4 (5001438018c7ed26)
[  559.994997] sas: phy-2:3 added to port-2:3, phy_mask:0x8 (5001438018c7ed26)
[  559.995429] sas: DOING DISCOVERY on port 0, pid:1017
[  559.999109] pm80xx mpi_smp_completion 2604:smp IO status 0x2
[  559.999551] sas: expander 5001438018c7ed26 discovery failed(0xffffffa6)
[  560.000294] sas: DONE DISCOVERY on port 0, pid:1017, result:-90
[  560.000787] sas: DOING DISCOVERY on port 1, pid:1017
[  560.001896] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.002457] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.003131] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.003688] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  560.004459] sas: DONE DISCOVERY on port 1, pid:1017, result:-70
[  560.005104] sas: DOING DISCOVERY on port 2, pid:1017
[  560.005975] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.006697] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.007500] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.008174] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  560.009052] sas: DONE DISCOVERY on port 2, pid:1017, result:-70
[  560.009818] sas: DOING DISCOVERY on port 3, pid:1017
[  560.012035] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.012849] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.013585] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  560.014305] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  560.015652] sas: DONE DISCOVERY on port 3, pid:1017, result:-70

Despite the failure messages, the pm80xx module seems to load fine:
# lsmod | grep pm80xx
pm80xx                158147  0
libsas                 89155  1 pm80xx
scsi_transport_sas     41028  2 libsas,pm80xx
# dmesg
[   19.226666] pm80xx 0000:01:00.0: pm80xx: driver version 0.1.37
[   19.226738] pm80xx 0000:01:00.0: enabling device (0000 -> 0002)
[   20.088440] scsi host2: pm80xx
[   20.088768] pm80xx 0000:01:00.0: irq 29 for MSI/MSI-X
...till...
[   20.091913] pm80xx 0000:01:00.0: irq 92 for MSI/MSI-X

LED status of the Adaptec 7805 host bus adapter:
BOOT = off
RAAE = off
IOP0 = off
IOP1 = off
Activity 0 = off
Activity 1 = solid green
Activity 2 = off
Activity 3 = off

LED status of the HP SAS expander card:
CR1 = solid green
CR2 = solid green
CR3 = solid green
CR4 = off
CR5 = off
CR6 = blinks green

uname -a
Linux ubuntu14 3.17.0-999-generic #201409240305 SMP Wed Sep 24 02:07:04 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Comment 1 Jack Wang 2014-09-25 15:05:55 UTC
looks like the expander reject SMP commands, could you attach SAS analyzer between HBA and expander, looks like for me, the expander is not SAS1.1 compatible?
Comment 2 linux-ide 2014-09-25 15:26:36 UTC
Sorry, I haven't got a SAS analyzer available.

As far as I know these HP SAS expander are based on PMC Sierra PM 8005 IC a.k.a. PM8005 SXP 36x6GSec.
Comment 3 linux-ide 2014-09-25 15:33:12 UTC
Regression #2: firmware upgrade for Adaptec PMC-Sierra PM8018 SAS HBA [Series 7H] [9005:8088]:

old:
Number of controllers = 1
CONTROLLER_ADDRESS | VENDOR_ID | DEVICE_ID | FIRMWARE_REVISION | BIOS_VERSION
0000:01:00.0	        0x9005        0x8088	   02.08.59.01    1.2.0.0234

new:
Number of controllers = 1
CONTROLLER_ADDRESS | VENDOR_ID | DEVICE_ID | FIRMWARE_REVISION | BIOS_VERSION
0000:01:00.0	        0x9005        0x8088	   02.08.60.01    1.2.0.10624

Resulting output on modprobe pm80xx:
[   90.510311] pm80xx 0000:01:00.0: pm80xx: driver version 0.1.37
[   90.510383] pm80xx 0000:01:00.0: enabling device (0000 -> 0002)
[   91.371537] scsi host4: pm80xx
[   91.371787] pm80xx 0000:01:00.0: irq 30 for MSI/MSI-X
...
[   91.374906] pm80xx 0000:01:00.0: irq 93 for MSI/MSI-X
[   91.869604] sas: phy-4:0 added to port-4:0, phy_mask:0x1 (5001438023aad066)
[   91.870157] sas: phy-4:1 added to port-4:1, phy_mask:0x2 (5001438023aad066)
[   91.870683] sas: phy-4:2 added to port-4:2, phy_mask:0x4 (5001438023aad066)
[   91.871211] sas: phy-4:3 added to port-4:3, phy_mask:0x8 (5001438023aad066)
[   91.871688] sas: DOING DISCOVERY on port 0, pid:137
[   91.875186] pm80xx mpi_smp_completion 2604:smp IO status 0x2
[   91.875770] sas: expander 5001438023aad066 discovery failed(0xffffffa6)
[   91.876491] sas: DONE DISCOVERY on port 0, pid:137, result:-90
[   91.877029] sas: DOING DISCOVERY on port 1, pid:137
[   91.878057] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.878675] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.879282] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.879883] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   91.880794] sas: DONE DISCOVERY on port 1, pid:137, result:-70
[   91.881465] sas: DOING DISCOVERY on port 2, pid:137
[   91.882664] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.883413] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.884154] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.884861] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   91.886227] sas: DONE DISCOVERY on port 2, pid:137, result:-70
[   91.886957] sas: DOING DISCOVERY on port 3, pid:137
[   91.888161] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.889470] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.890270] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[   91.891055] sas: RG to ex 5001438023aad066 failed:0xffffffba
[   91.892008] sas: DONE DISCOVERY on port 3, pid:137, result:-70
Comment 4 Jack Wang 2014-09-25 15:53:58 UTC
Could you check if the expander has new firmware?

you can also check smp support through smp_utils

http://sg.danny.cz/sg/smp_utils.html
Comment 5 linux-ide 2014-09-25 16:06:52 UTC
Yes, the expander has new firmware (v. 2.10 available since early September).

Although my guess is that a firmware upgrade will not be possible as long as the SAS HBA has an address (a.k.a. initiator port identifier) of 0:

# lsscsi -Ht | grep pm80xx
[4]    pm80xx        sas:0x0000000000000000

# ls /dev/bsg/ex*
ls: cannot access /dev/bsg/ex*: No such file or directory
Comment 6 Jack Wang 2014-09-25 16:20:24 UTC
Ah, I forgot no bsg node if expander discover failed:(
HBA SAS address is 0, does not matter.

From my point, this bug clear SMP protocol related, you could report to PMC, I think they will offer help.
Comment 7 Jack Wang 2014-09-26 08:34:00 UTC
Cc pmchba maillist.

2014-09-25 18:20 GMT+02:00  <bugzilla-daemon@bugzilla.kernel.org>:
> https://bugzilla.kernel.org/show_bug.cgi?id=85151
>
> --- Comment #6 from Jack Wang <xjtuwjp@gmail.com> ---
> Ah, I forgot no bsg node if expander discover failed:(
> HBA SAS address is 0, does not matter.
>
> From my point, this bug clear SMP protocol related, you could report to PMC,
> I
> think they will offer help.
>
> --
> You are receiving this mail because:
> You are watching the assignee of the bug.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Comment 8 Suresh Thiagarajan 2014-09-26 09:03:00 UTC
The SMP failure is due to SMP overflow. Due to this overrun discovery of expander fails. I will try to use the same FW version for expander and check it locally.

- Suresh
Comment 9 linux-ide 2014-09-26 10:16:17 UTC
Even with latest HP SAS expander firmware version 2.10 (CP022989, Sep 9th 2014, PUF21000.bin e898facebe75c180c0a9e7d521d0285a), no drives attached, only the 7805H with one cable SFF-8643 to SFF-8088 (0.5 meter in length) to the external (1C,PORT1C) of the expander, there are these failure messages:

[  117.805044] sas: DOING DISCOVERY on port 0, pid:134
[  117.807859] pm80xx mpi_smp_completion 2604:smp IO status 0x2
[  117.808354] sas: expander 5001438018c7ed26 discovery failed(0xffffffa6)
[  117.809010] sas: DONE DISCOVERY on port 0, pid:134, result:-90
[  117.809878] sas: DOING DISCOVERY on port 1, pid:134
[  117.810706] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.811277] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.811891] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.812443] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  117.813380] sas: DONE DISCOVERY on port 1, pid:134, result:-70
[  117.814045] sas: DOING DISCOVERY on port 2, pid:134
[  117.814966] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.815649] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.816361] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.817032] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  117.817804] sas: DONE DISCOVERY on port 2, pid:134, result:-70
[  117.818335] sas: DOING DISCOVERY on port 3, pid:134
[  117.819051] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.819646] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.820414] sas: smp_execute_task: task to dev 5001438018c7ed26 response: 0xffffffff status 0x8a
[  117.820964] sas: RG to ex 5001438018c7ed26 failed:0xffffffba
[  117.821709] sas: DONE DISCOVERY on port 3, pid:134, result:-70
Comment 10 linux-ide 2014-09-30 10:27:33 UTC
After splitting module loading and connecting the expander, and enabling verbose pm80xx logging in between:

1. disconnect cable
2. modprobe pm80xx
3. # echo 0xfff > $(find /sys -iname logging_level)
4. verify new verbose logging level: # cat $(find /sys -iname logging_level)
00000fffh
5. plug cable

The new verbose dmesg output when connecting the HP Expander SAS Card [468406-B21, 487738-001]:

[ 1642.564117] pm80xx pm8001_mpi_msg_consume 1450:: CI=11 PI=15 msgHeader=81002700
[ 1642.564580] pm80xx process_one_iomb 3464:OPC_OUB_HW_EVENT
[ 1642.565045] pm80xx mpi_hw_event 3106:portid:0 phyid:0 event:0x4 status:0x0
[ 1642.565551] pm80xx mpi_hw_event 3112:HW_EVENT_PHY_START_STATUS
[ 1642.566074] pm80xx hw_event_sas_phy_up 2863:portid:0; phyid:0; linkrate:4; portstate:1; devicetype:2
[ 1642.566669] pm80xx hw_event_sas_phy_up 2879:expander device.
[ 1642.567281] pm80xx pm8001_bytes_dmaed 3246:phy 0 byte dmaded.
[ 1642.567913] pm80xx pm8001_mpi_msg_free_set 1407: CI=12 PI=15
[ 1642.568563] pm80xx pm8001_mpi_msg_consume 1450:: CI=12 PI=15 msgHeader=81002700
[ 1642.569241] pm80xx process_one_iomb 3464:OPC_OUB_HW_EVENT
[ 1642.569943] pm80xx mpi_hw_event 3106:portid:0 phyid:1 event:0x4 status:0x0
[ 1642.570687] pm80xx mpi_hw_event 3112:HW_EVENT_PHY_START_STATUS
[ 1642.571451] pm80xx hw_event_sas_phy_up 2863:portid:0; phyid:1; linkrate:4; portstate:1; devicetype:2
[ 1642.572286] pm80xx hw_event_sas_phy_up 2879:expander device.
[ 1642.573132] pm80xx pm8001_bytes_dmaed 3246:phy 1 byte dmaded.
[ 1642.574004] pm80xx pm8001_mpi_msg_free_set 1407: CI=13 PI=15
[ 1642.574895] pm80xx pm8001_mpi_msg_consume 1450:: CI=13 PI=15 msgHeader=81002700
[ 1642.575818] pm80xx process_one_iomb 3464:OPC_OUB_HW_EVENT
[ 1642.576761] pm80xx mpi_hw_event 3106:portid:0 phyid:2 event:0x4 status:0x0
[ 1642.577748] pm80xx mpi_hw_event 3112:HW_EVENT_PHY_START_STATUS
[ 1642.578755] pm80xx hw_event_sas_phy_up 2863:portid:0; phyid:2; linkrate:4; portstate:1; devicetype:2
[ 1642.579835] pm80xx hw_event_sas_phy_up 2879:expander device.
[ 1642.580924] pm80xx pm8001_bytes_dmaed 3246:phy 2 byte dmaded.
[ 1642.582039] pm80xx pm8001_mpi_msg_free_set 1407: CI=14 PI=15
[ 1642.583175] pm80xx pm8001_mpi_msg_consume 1450:: CI=14 PI=15 msgHeader=81002700
[ 1642.584339] pm80xx process_one_iomb 3464:OPC_OUB_HW_EVENT
[ 1642.585525] pm80xx mpi_hw_event 3106:portid:0 phyid:3 event:0x4 status:0x0
[ 1642.586756] pm80xx mpi_hw_event 3112:HW_EVENT_PHY_START_STATUS
[ 1642.588006] pm80xx hw_event_sas_phy_up 2863:portid:0; phyid:3; linkrate:4; portstate:1; devicetype:2
[ 1642.589325] pm80xx hw_event_sas_phy_up 2879:expander device.
[ 1642.590821] pm80xx pm8001_bytes_dmaed 3246:phy 3 byte dmaded.
[ 1642.592350] pm80xx pm8001_mpi_msg_free_set 1407: CI=15 PI=15
[ 1642.594488] sas: phy-4:0 added to port-4:0, phy_mask:0x1 (5001438023aad066)
[ 1642.596212] sas: phy-4:1 added to port-4:1, phy_mask:0x2 (5001438023aad066)
[ 1642.598079] sas: phy-4:2 added to port-4:2, phy_mask:0x4 (5001438023aad066)
[ 1642.599804] sas: phy-4:3 added to port-4:3, phy_mask:0x8 (5001438023aad066)
[ 1642.601494] sas: DOING DISCOVERY on port 0, pid:137
[ 1642.603161] pm80xx pm8001_dev_found_notify 643:Found device
[ 1642.604698] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:32 , UPDATED PI=12 CI=11
[ 1642.606242] pm80xx pm8001_mpi_msg_consume 1450:: CI=15 PI=16 msgHeader=81002832
[ 1642.607848] pm80xx process_one_iomb 3489:OPC_OUB_DEV_REGIST
[ 1642.609443] pm80xx pm8001_mpi_reg_resp 3552: register device is status = 0
[ 1642.611074] pm80xx pm8001_mpi_reg_resp 3555:DEVREG_SUCCESS
[ 1642.612720] pm80xx pm8001_mpi_msg_free_set 1407: CI=16 PI=16
[ 1642.614386] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.614386]
[ 1642.614386] pm80xx pm80xx_chip_smp_req 3768:SMP Frame Length 8
[ 1642.619030] pm80xx pm80xx_chip_smp_req 3814:SMP REQUEST DIRECT MODE
[ 1642.620612] pm80xx pm80xx_chip_smp_req 3821:Byte[0]:40 (DMA data:40)
[ 1642.622209] pm80xx pm80xx_chip_smp_req 3821:Byte[1]:0 (DMA data:40)
[ 1642.623813] pm80xx pm80xx_chip_smp_req 3821:Byte[2]:0 (DMA data:40)
[ 1642.625417] pm80xx pm80xx_chip_smp_req 3821:Byte[3]:0 (DMA data:40)
[ 1642.626891] pm80xx pm80xx_chip_smp_req 3821:Byte[4]:0 (DMA data:40)
[ 1642.628352] pm80xx pm80xx_chip_smp_req 3821:Byte[5]:0 (DMA data:40)
[ 1642.629812] pm80xx pm80xx_chip_smp_req 3821:Byte[6]:0 (DMA data:40)
[ 1642.631273] pm80xx pm80xx_chip_smp_req 3821:Byte[7]:0 (DMA data:40)
[ 1642.632736] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:12 , UPDATED PI=13 CI=12
[ 1642.634242] pm80xx pm8001_mpi_msg_consume 1450:: CI=16 PI=17 msgHeader=81002006
[ 1642.635782] pm80xx process_one_iomb 3479:OPC_OUB_SMP_COMP
[ 1642.637327] pm80xx mpi_smp_completion 2611:IO_SUCCESS
[ 1642.638886] pm80xx mpi_smp_completion 2619:DIRECT RESPONSE Length:28
[ 1642.640469] pm80xx mpi_smp_completion 2628:SMP Byte0 DMA data 0x41 psmp 0x41
[ 1642.642072] pm80xx mpi_smp_completion 2628:SMP Byte1 DMA data 0x0 psmp 0x0
[ 1642.643680] pm80xx mpi_smp_completion 2628:SMP Byte2 DMA data 0x0 psmp 0x0
[ 1642.645256] pm80xx mpi_smp_completion 2628:SMP Byte3 DMA data 0x0 psmp 0x0
[ 1642.646806] pm80xx mpi_smp_completion 2628:SMP Byte4 DMA data 0x0 psmp 0x0
[ 1642.648327] pm80xx mpi_smp_completion 2628:SMP Byte5 DMA data 0x49 psmp 0x49
[ 1642.649838] pm80xx mpi_smp_completion 2628:SMP Byte6 DMA data 0x4 psmp 0x4
[ 1642.651314] pm80xx mpi_smp_completion 2628:SMP Byte7 DMA data 0x0 psmp 0x0
[ 1642.652764] pm80xx mpi_smp_completion 2628:SMP Byte8 DMA data 0xffffff80 psmp 0x80
[ 1642.654208] pm80xx mpi_smp_completion 2628:SMP Byte9 DMA data 0x25 psmp 0x25
[ 1642.655642] pm80xx mpi_smp_completion 2628:SMP Byte10 DMA data 0xffffff8c psmp 0x8c
[ 1642.657080] pm80xx mpi_smp_completion 2628:SMP Byte11 DMA data 0x0 psmp 0x0
[ 1642.658494] pm80xx mpi_smp_completion 2628:SMP Byte12 DMA data 0x50 psmp 0x50
[ 1642.659889] pm80xx mpi_smp_completion 2628:SMP Byte13 DMA data 0x1 psmp 0x1
[ 1642.661270] pm80xx mpi_smp_completion 2628:SMP Byte14 DMA data 0x43 psmp 0x43
[ 1642.662619] pm80xx mpi_smp_completion 2628:SMP Byte15 DMA data 0xffffff80 psmp 0x80
[ 1642.663950] pm80xx mpi_smp_completion 2628:SMP Byte16 DMA data 0x23 psmp 0x23
[ 1642.665269] pm80xx mpi_smp_completion 2628:SMP Byte17 DMA data 0xffffffaa psmp 0xaa
[ 1642.666585] pm80xx mpi_smp_completion 2628:SMP Byte18 DMA data 0xffffffd0 psmp 0xd0
[ 1642.667887] pm80xx mpi_smp_completion 2628:SMP Byte19 DMA data 0x65 psmp 0x65
[ 1642.669166] pm80xx mpi_smp_completion 2628:SMP Byte20 DMA data 0x0 psmp 0x0
[ 1642.670426] pm80xx mpi_smp_completion 2628:SMP Byte21 DMA data 0x0 psmp 0x0
[ 1642.671665] pm80xx mpi_smp_completion 2628:SMP Byte22 DMA data 0x0 psmp 0x0
[ 1642.672865] pm80xx mpi_smp_completion 2628:SMP Byte23 DMA data 0x0 psmp 0x0
[ 1642.674036] pm80xx mpi_smp_completion 2628:SMP Byte24 DMA data 0x0 psmp 0x0
[ 1642.675188] pm80xx mpi_smp_completion 2628:SMP Byte25 DMA data 0x0 psmp 0x0
[ 1642.676321] pm80xx mpi_smp_completion 2628:SMP Byte26 DMA data 0x0 psmp 0x0
[ 1642.677440] pm80xx mpi_smp_completion 2628:SMP Byte27 DMA data 0x0 psmp 0x0
[ 1642.678536] pm80xx pm8001_mpi_msg_free_set 1407: CI=17 PI=17
[ 1642.679622] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.679622]
[ 1642.679622] pm80xx pm80xx_chip_smp_req 3768:SMP Frame Length 8
[ 1642.684002] pm80xx pm80xx_chip_smp_req 3814:SMP REQUEST DIRECT MODE
[ 1642.685446] pm80xx pm80xx_chip_smp_req 3821:Byte[0]:40 (DMA data:40)
[ 1642.686884] pm80xx pm80xx_chip_smp_req 3821:Byte[1]:1 (DMA data:40)
[ 1642.688291] pm80xx pm80xx_chip_smp_req 3821:Byte[2]:0 (DMA data:40)
[ 1642.689696] pm80xx pm80xx_chip_smp_req 3821:Byte[3]:0 (DMA data:40)
[ 1642.691098] pm80xx pm80xx_chip_smp_req 3821:Byte[4]:0 (DMA data:40)
[ 1642.692499] pm80xx pm80xx_chip_smp_req 3821:Byte[5]:0 (DMA data:40)
[ 1642.693862] pm80xx pm80xx_chip_smp_req 3821:Byte[6]:0 (DMA data:40)
[ 1642.695193] pm80xx pm80xx_chip_smp_req 3821:Byte[7]:0 (DMA data:40)
[ 1642.696490] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:12 , UPDATED PI=14 CI=13
[ 1642.697810] pm80xx pm8001_mpi_msg_consume 1450:: CI=17 PI=18 msgHeader=81002006
[ 1642.699133] pm80xx process_one_iomb 3479:OPC_OUB_SMP_COMP
[ 1642.700428] pm80xx mpi_smp_completion 2611:IO_SUCCESS
[ 1642.701722] pm80xx mpi_smp_completion 2619:DIRECT RESPONSE Length:60
[ 1642.703026] pm80xx mpi_smp_completion 2628:SMP Byte0 DMA data 0x41 psmp 0x41
[ 1642.704335] pm80xx mpi_smp_completion 2628:SMP Byte1 DMA data 0x1 psmp 0x1
[ 1642.705620] pm80xx mpi_smp_completion 2628:SMP Byte2 DMA data 0x0 psmp 0x0
[ 1642.706880] pm80xx mpi_smp_completion 2628:SMP Byte3 DMA data 0x0 psmp 0x0
[ 1642.708124] pm80xx mpi_smp_completion 2628:SMP Byte4 DMA data 0x0 psmp 0x0
[ 1642.709349] pm80xx mpi_smp_completion 2628:SMP Byte5 DMA data 0x49 psmp 0x49
[ 1642.710472] pm80xx mpi_smp_completion 2628:SMP Byte6 DMA data 0x0 psmp 0x0
[ 1642.711569] pm80xx mpi_smp_completion 2628:SMP Byte7 DMA data 0x0 psmp 0x0
[ 1642.712665] pm80xx mpi_smp_completion 2628:SMP Byte8 DMA data 0x1 psmp 0x1
[ 1642.713764] pm80xx mpi_smp_completion 2628:SMP Byte9 DMA data 0x0 psmp 0x0
[ 1642.714865] pm80xx mpi_smp_completion 2628:SMP Byte10 DMA data 0x0 psmp 0x0
[ 1642.715983] pm80xx mpi_smp_completion 2628:SMP Byte11 DMA data 0x0 psmp 0x0
[ 1642.717100] pm80xx mpi_smp_completion 2628:SMP Byte12 DMA data 0x48 psmp 0x48
[ 1642.718189] pm80xx mpi_smp_completion 2628:SMP Byte13 DMA data 0x50 psmp 0x50
[ 1642.719252] pm80xx mpi_smp_completion 2628:SMP Byte14 DMA data 0x20 psmp 0x20
[ 1642.720281] pm80xx mpi_smp_completion 2628:SMP Byte15 DMA data 0x20 psmp 0x20
[ 1642.721290] pm80xx mpi_smp_completion 2628:SMP Byte16 DMA data 0x20 psmp 0x20
[ 1642.722283] pm80xx mpi_smp_completion 2628:SMP Byte17 DMA data 0x20 psmp 0x20
[ 1642.723254] pm80xx mpi_smp_completion 2628:SMP Byte18 DMA data 0x20 psmp 0x20
[ 1642.724219] pm80xx mpi_smp_completion 2628:SMP Byte19 DMA data 0x20 psmp 0x20
[ 1642.725185] pm80xx mpi_smp_completion 2628:SMP Byte20 DMA data 0x48 psmp 0x48
[ 1642.726153] pm80xx mpi_smp_completion 2628:SMP Byte21 DMA data 0x50 psmp 0x50
[ 1642.727126] pm80xx mpi_smp_completion 2628:SMP Byte22 DMA data 0x20 psmp 0x20
[ 1642.728095] pm80xx mpi_smp_completion 2628:SMP Byte23 DMA data 0x53 psmp 0x53
[ 1642.729059] pm80xx mpi_smp_completion 2628:SMP Byte24 DMA data 0x41 psmp 0x41
[ 1642.730023] pm80xx mpi_smp_completion 2628:SMP Byte25 DMA data 0x53 psmp 0x53
[ 1642.730980] pm80xx mpi_smp_completion 2628:SMP Byte26 DMA data 0x20 psmp 0x20
[ 1642.731928] pm80xx mpi_smp_completion 2628:SMP Byte27 DMA data 0x45 psmp 0x45
[ 1642.732862] pm80xx mpi_smp_completion 2628:SMP Byte28 DMA data 0x58 psmp 0x58
[ 1642.733775] pm80xx mpi_smp_completion 2628:SMP Byte29 DMA data 0x50 psmp 0x50
[ 1642.734602] pm80xx mpi_smp_completion 2628:SMP Byte30 DMA data 0x20 psmp 0x20
[ 1642.735426] pm80xx mpi_smp_completion 2628:SMP Byte31 DMA data 0x43 psmp 0x43
[ 1642.736245] pm80xx mpi_smp_completion 2628:SMP Byte32 DMA data 0x61 psmp 0x61
[ 1642.737056] pm80xx mpi_smp_completion 2628:SMP Byte33 DMA data 0x72 psmp 0x72
[ 1642.737858] pm80xx mpi_smp_completion 2628:SMP Byte34 DMA data 0x64 psmp 0x64
[ 1642.738655] pm80xx mpi_smp_completion 2628:SMP Byte35 DMA data 0x20 psmp 0x20
[ 1642.739451] pm80xx mpi_smp_completion 2628:SMP Byte36 DMA data 0x32 psmp 0x32
[ 1642.740239] pm80xx mpi_smp_completion 2628:SMP Byte37 DMA data 0x2e psmp 0x2e
[ 1642.741024] pm80xx mpi_smp_completion 2628:SMP Byte38 DMA data 0x31 psmp 0x31
[ 1642.741812] pm80xx mpi_smp_completion 2628:SMP Byte39 DMA data 0x30 psmp 0x30
[ 1642.742601] pm80xx mpi_smp_completion 2628:SMP Byte40 DMA data 0x50 psmp 0x50
[ 1642.743394] pm80xx mpi_smp_completion 2628:SMP Byte41 DMA data 0x4d psmp 0x4d
[ 1642.744189] pm80xx mpi_smp_completion 2628:SMP Byte42 DMA data 0x43 psmp 0x43
[ 1642.745067] pm80xx mpi_smp_completion 2628:SMP Byte43 DMA data 0x53 psmp 0x53
[ 1642.745867] pm80xx mpi_smp_completion 2628:SMP Byte44 DMA data 0x49 psmp 0x49
[ 1642.746667] pm80xx mpi_smp_completion 2628:SMP Byte45 DMA data 0x45 psmp 0x45
[ 1642.747440] pm80xx mpi_smp_completion 2628:SMP Byte46 DMA data 0x52 psmp 0x52
[ 1642.748196] pm80xx mpi_smp_completion 2628:SMP Byte47 DMA data 0x41 psmp 0x41
[ 1642.748931] pm80xx mpi_smp_completion 2628:SMP Byte48 DMA data 0xffffff80 psmp 0x80
[ 1642.749656] pm80xx mpi_smp_completion 2628:SMP Byte49 DMA data 0x5 psmp 0x5
[ 1642.750373] pm80xx mpi_smp_completion 2628:SMP Byte50 DMA data 0x2 psmp 0x2
[ 1642.751081] pm80xx mpi_smp_completion 2628:SMP Byte51 DMA data 0x0 psmp 0x0
[ 1642.751782] pm80xx mpi_smp_completion 2628:SMP Byte52 DMA data 0x0 psmp 0x0
[ 1642.752479] pm80xx mpi_smp_completion 2628:SMP Byte53 DMA data 0x0 psmp 0x0
[ 1642.753178] pm80xx mpi_smp_completion 2628:SMP Byte54 DMA data 0x0 psmp 0x0
[ 1642.753875] pm80xx mpi_smp_completion 2628:SMP Byte55 DMA data 0x0 psmp 0x0
[ 1642.754572] pm80xx mpi_smp_completion 2628:SMP Byte56 DMA data 0x0 psmp 0x0
[ 1642.755269] pm80xx mpi_smp_completion 2628:SMP Byte57 DMA data 0x0 psmp 0x0
[ 1642.755966] pm80xx mpi_smp_completion 2628:SMP Byte58 DMA data 0x0 psmp 0x0
[ 1642.756631] pm80xx mpi_smp_completion 2628:SMP Byte59 DMA data 0x0 psmp 0x0
[ 1642.757272] pm80xx pm8001_mpi_msg_free_set 1407: CI=18 PI=18
[ 1642.757900] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.757900]
[ 1642.757900] pm80xx pm80xx_chip_smp_req 3768:SMP Frame Length 16
[ 1642.759788] pm80xx pm80xx_chip_smp_req 3781:SMP REQUEST INDIRECT MODE
[ 1642.760441] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:12 , UPDATED PI=15 CI=14
[ 1642.761496] pm80xx pm8001_mpi_msg_consume 1450:: CI=18 PI=19 msgHeader=81002006
[ 1642.762159] pm80xx process_one_iomb 3479:OPC_OUB_SMP_COMP
[ 1642.762826] pm80xx mpi_smp_completion 2604:smp IO status 0x2
[ 1642.763508] pm80xx mpi_smp_completion 2641:IO_UNDERFLOW
[ 1642.764195] pm80xx pm8001_mpi_msg_free_set 1407: CI=19 PI=19
[ 1642.764932] sas: expander 5001438023aad066 discovery failed(0xffffffa6)
[ 1642.765689] pm80xx pm8001_dev_gone_notify 866:found dev[16385:2] is gone.
[ 1642.766453] pm80xx pm8001_chip_dereg_dev_req 4573:unregister device device_id = 16385
[ 1642.767240] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:10 , UPDATED PI=16 CI=15
[ 1642.768065] pm80xx pm8001_mpi_msg_consume 1450:: CI=19 PI=20 msgHeader=8100200b
[ 1642.768896] pm80xx process_one_iomb 3494:unregister the device
[ 1642.769739] pm80xx pm8001_mpi_msg_free_set 1407: CI=20 PI=20
[ 1642.771479] sas: DONE DISCOVERY on port 0, pid:137, result:-90
[ 1642.772323] sas: DOING DISCOVERY on port 1, pid:137
[ 1642.773337] pm80xx pm8001_dev_found_notify 643:Found device
[ 1642.774202] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:32 , UPDATED PI=17 CI=16
[ 1642.775132] pm80xx pm8001_mpi_msg_consume 1450:: CI=20 PI=21 msgHeader=81002832
[ 1642.776052] pm80xx process_one_iomb 3489:OPC_OUB_DEV_REGIST
[ 1642.776976] pm80xx pm8001_mpi_reg_resp 3552: register device is status = 4162
[ 1642.777929] pm80xx pm8001_mpi_reg_resp 3588:DEVREG_FAILURE_DEVICE_TYPE_NOT_UNSORPORTED
[ 1642.778906] pm80xx pm8001_mpi_msg_free_set 1407: CI=21 PI=21
[ 1642.779930] pm80xx pm8001_task_exec 375:pm8001_task_exec device

[ 1642.780602] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.781997] pm80xx pm8001_task_exec 375:pm8001_task_exec device

[ 1642.782732] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.784255] pm80xx pm8001_task_exec 375:pm8001_task_exec device

[ 1642.785061] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.786718] sas: RG to ex 5001438023aad066 failed:0xffffffba
[ 1642.787586] pm80xx pm8001_dev_gone_notify 866:found dev[2048:2] is gone.
[ 1642.788471] pm80xx pm8001_chip_dereg_dev_req 4573:unregister device device_id = 2048
[ 1642.789375] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:10 , UPDATED PI=18 CI=17
[ 1642.790322] pm80xx pm8001_mpi_msg_consume 1450:: CI=21 PI=22 msgHeader=8100200b
[ 1642.790322] pm80xx process_one_iomb 3494:unregister the device
[ 1642.790323] pm80xx pm8001_mpi_dereg_resp 3610: deregister device failed ,status = 1023, device_id = 0
[ 1642.790324] pm80xx pm8001_mpi_msg_free_set 1407: CI=22 PI=22
[ 1642.790413] sas: DONE DISCOVERY on port 1, pid:137, result:-70
[ 1642.790420] sas: DOING DISCOVERY on port 2, pid:137
[ 1642.790513] pm80xx pm8001_dev_found_notify 643:Found device
[ 1642.790514] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:32 , UPDATED PI=19 CI=18
[ 1642.790525] pm80xx pm8001_mpi_msg_consume 1450:: CI=22 PI=23 msgHeader=81002832
[ 1642.790526] pm80xx process_one_iomb 3489:OPC_OUB_DEV_REGIST
[ 1642.790527] pm80xx pm8001_mpi_reg_resp 3552: register device is status = 4162
[ 1642.790527] pm80xx pm8001_mpi_reg_resp 3588:DEVREG_FAILURE_DEVICE_TYPE_NOT_UNSORPORTED
[ 1642.790529] pm80xx pm8001_mpi_msg_free_set 1407: CI=23 PI=23
[ 1642.792165] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.792165]
[ 1642.792165] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.792167] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.792167]
[ 1642.792167] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.792168] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.792168]
[ 1642.792168] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.792169] sas: RG to ex 5001438023aad066 failed:0xffffffba
[ 1642.792171] pm80xx pm8001_dev_gone_notify 866:found dev[2048:2] is gone.
[ 1642.792172] pm80xx pm8001_chip_dereg_dev_req 4573:unregister device device_id = 2048
[ 1642.792174] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:10 , UPDATED PI=20 CI=19
[ 1642.792184] pm80xx pm8001_mpi_msg_consume 1450:: CI=23 PI=24 msgHeader=8100200b
[ 1642.792185] pm80xx process_one_iomb 3494:unregister the device
[ 1642.792187] pm80xx pm8001_mpi_dereg_resp 3610: deregister device failed ,status = 1023, device_id = 0
[ 1642.792188] pm80xx pm8001_mpi_msg_free_set 1407: CI=24 PI=24
[ 1642.792673] sas: DONE DISCOVERY on port 2, pid:137, result:-70
[ 1642.792680] sas: DOING DISCOVERY on port 3, pid:137
[ 1642.793409] pm80xx pm8001_dev_found_notify 643:Found device
[ 1642.793411] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:32 , UPDATED PI=21 CI=20
[ 1642.793425] pm80xx pm8001_mpi_msg_consume 1450:: CI=24 PI=25 msgHeader=81002832
[ 1642.793425] pm80xx process_one_iomb 3489:OPC_OUB_DEV_REGIST
[ 1642.793426] pm80xx pm8001_mpi_reg_resp 3552: register device is status = 4162
[ 1642.793427] pm80xx pm8001_mpi_reg_resp 3588:DEVREG_FAILURE_DEVICE_TYPE_NOT_UNSORPORTED
[ 1642.793429] pm80xx pm8001_mpi_msg_free_set 1407: CI=25 PI=25
[ 1642.795451] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.795451]
[ 1642.795451] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.795453] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.795453]
[ 1642.795453] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.795454] pm80xx pm8001_task_exec 375:pm8001_task_exec device
[ 1642.795454]
[ 1642.795454] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[ 1642.795455] sas: RG to ex 5001438023aad066 failed:0xffffffba
[ 1642.795456] pm80xx pm8001_dev_gone_notify 866:found dev[2048:2] is gone.
[ 1642.795457] pm80xx pm8001_chip_dereg_dev_req 4573:unregister device device_id = 2048
[ 1642.795458] pm80xx pm8001_mpi_build_cmd 1368:INB Q 0 OPCODE:10 , UPDATED PI=22 CI=21
[ 1642.795468] pm80xx pm8001_mpi_msg_consume 1450:: CI=25 PI=26 msgHeader=8100200b
[ 1642.795469] pm80xx process_one_iomb 3494:unregister the device
[ 1642.795470] pm80xx pm8001_mpi_dereg_resp 3610: deregister device failed ,status = 1023, device_id = 0
[ 1642.795470] pm80xx pm8001_mpi_msg_free_set 1407: CI=26 PI=26
[ 1642.796793] sas: DONE DISCOVERY on port 3, pid:137, result:-70
Comment 11 linux-ide 2014-10-10 21:11:47 UTC
Created attachment 153151 [details]
pm80xx dmesg even more verbose output after patching pm80xx.ko

This is the applied patch:
===
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
index b06443a..c696fdc 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.c
+++ b/drivers/scsi/pm8001/pm80xx_hwi.c
@@ -2613,10 +2613,10 @@ mpi_smp_completion(struct pm8001_hba_info *pm8001_ha, void *piomb)
 		ts->stat = SAM_STAT_GOOD;
 		if (pm8001_dev)
 			pm8001_dev->running_req--;
+		PM8001_FAIL_DBG(pm8001_ha,
+			pm8001_printk("RESPONSE Length:%d\n",
+					param));
 		if (pm8001_ha->smp_exp_mode == SMP_DIRECT) {
-			PM8001_IO_DBG(pm8001_ha,
-				pm8001_printk("DIRECT RESPONSE Length:%d\n",
-						param));
 			pdma_respaddr = (char *)(phys_to_virt(cpu_to_le64
 						((u64)sg_dma_address
 						(&t->smp_task.smp_resp))));
@@ -2628,6 +2628,17 @@ mpi_smp_completion(struct pm8001_hba_info *pm8001_ha, void *piomb)
 					psmpPayload->_r_a[i]));
 			}
 		}
+		else if (pm8001_ha->smp_exp_mode == SMP_INDIRECT) {
+			pdma_respaddr = (char *)(phys_to_virt(cpu_to_le64
+						((u64)sg_dma_address
+						(&t->smp_task.smp_resp))));
+			for (i = 0; i < param; i++) {
+				PM8001_FAIL_DBG(pm8001_ha, pm8001_printk(
+					"SMP Byte%d DMA data 0x%x psmp 0x%x\n",
+					i, *(pdma_respaddr+i),
+					psmpPayload->_r_a[i]));
+			}
+		}
 		break;
 	case IO_ABORTED:
 		PM8001_IO_DBG(pm8001_ha,
@@ -2638,12 +2649,21 @@ mpi_smp_completion(struct pm8001_hba_info *pm8001_ha, void *piomb)
 			pm8001_dev->running_req--;
 		break;
 	case IO_OVERFLOW:
-		PM8001_IO_DBG(pm8001_ha, pm8001_printk("IO_UNDERFLOW\n"));
+		PM8001_IO_DBG(pm8001_ha, pm8001_printk("IO_OVERFLOW\n"));
 		ts->resp = SAS_TASK_COMPLETE;
-		ts->stat = SAS_DATA_OVERRUN;
+		ts->stat = SAM_STAT_GOOD;
 		ts->residual = 0;
 		if (pm8001_dev)
 			pm8001_dev->running_req--;
+		pdma_respaddr = (char *)(phys_to_virt(cpu_to_le64
+                                                ((u64)sg_dma_address
+                                                (&t->smp_task.smp_resp))));
+                for (i = 0; i < param; i++) {
+                            PM8001_FAIL_DBG(pm8001_ha, pm8001_printk(
+                                    "SMP Byte%d DMA data 0x%x psmp 0x%x\n",
+                                    i, *(pdma_respaddr+i),
+                                    psmpPayload->_r_a[i]));
+		}
 		break;
 	case IO_NO_DEVICE:
 		PM8001_IO_DBG(pm8001_ha, pm8001_printk("IO_NO_DEVICE\n"));
@@ -3809,24 +3829,20 @@ static int pm80xx_chip_smp_req(struct pm8001_hba_info *pm8001_ha,
 			cpu_to_le32
 			((u32)sg_dma_len(&task->smp_task.smp_resp)-4);
 	}
-	if (pm8001_ha->smp_exp_mode == SMP_DIRECT) {
-		PM8001_IO_DBG(pm8001_ha,
-			pm8001_printk("SMP REQUEST DIRECT MODE\n"));
 		for (i = 0; i < length; i++)
 			if (i < 16) {
 				smp_cmd.smp_req16[i] = *(preq_dma_addr+i);
-				PM8001_IO_DBG(pm8001_ha, pm8001_printk(
+				PM8001_FAIL_DBG(pm8001_ha, pm8001_printk(
 					"Byte[%d]:%x (DMA data:%x)\n",
 					i, smp_cmd.smp_req16[i],
 					*(preq_dma_addr)));
 			} else {
 				smp_cmd.smp_req[i] = *(preq_dma_addr+i);
-				PM8001_IO_DBG(pm8001_ha, pm8001_printk(
+				PM8001_FAIL_DBG(pm8001_ha, pm8001_printk(
 					"Byte[%d]:%x (DMA data:%x)\n",
 					i, smp_cmd.smp_req[i],
 					*(preq_dma_addr)));
 			}
-	}

 	build_smp_cmd(pm8001_dev->device_id, smp_cmd.tag,
 				&smp_cmd, pm8001_ha->smp_exp_mode, length);
Comment 12 linux-ide 2014-10-10 21:32:26 UTC
Note the changed behavior with kernel "Linux ubuntu14 3.17.0-031700rc7-generic #201409281835 SMP Sun Sep 28 22:36:30 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux" && patched pm80xx, despite the SAS discovery errors the HP SAS expander is now visible:

# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0
[4:0:0:0]    enclosu HP       HP SAS EXP Card  2.10  -          /dev/sg1

===
2nd HP SAS expander card = ok
===
Tried with a second HP SAS expander card, that also lists ok in lsscsi.

===
1 day more recent mainline kernel using unpatched pm80xx.ko = not ok
===
# uname -a
Linux ubuntu14 3.17.0-999-generic #201409282205 SMP Mon Sep 29 02:06:39 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# modprobe -v pm80xx
...
insmod /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/pm8001/pm80xx.ko
# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0

===
Copying this patched mv80xx over to 3.17.0-999 = ok
===
Unload
# modprobe -rv pm80xx
Rename stock kernel module
# mv /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/pm8001/pm80xx.ko /lib/modules/3.17.0-999-generic/kernel/drivers/scsi/pm8001/pm80xx.ko.bak
Copy
# cp /lib/modules/3.17.0-031700rc7-generic/extra/pm80xx.ko /lib/modules/3.17.0-999-generic/extra/pm80xx.ko && depmod
# modprobe -v pm80xx
...
insmod /lib/modules/3.17.0-999-generic/extra/pm80xx.ko
# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0
[6:0:0:0]    enclosu HP       HP SAS EXP Card  2.10  -          /dev/sg1
Comment 13 linux-ide 2014-10-10 22:00:12 UTC
Note: having 2 pieces of the HP SAS expander connected at the same time, one to each port of the Adaptec 7805H, results in a kernel oops:

   35.475138] sas: DONE DISCOVERY on port 7, pid:137, result:-70
[   35.477301] scsi 4:0:0:0: Enclosure         HP       HP SAS EXP Card  2.10 PQ: 0 ANSI: 5
[   35.479756] scsi 4:0:0:0: Attached scsi generic sg1 type 13
[   35.490335] ses 4:0:0:0: Attached Enclosure device
[   35.525143] BUG: unable to handle kernel NULL pointer dereference at 0000000000000290
[   35.525889] IP: [<ffffffffc05c9f44>] pm8001_dev_gone_notify+0x24/0x210 [pm80xx]
[   35.526618] PGD 0
[   35.527324] Oops: 0000 [#1] SMP
...
[   35.530609] CPU: 0 PID: 36 Comm: kworker/0:1 Tainted: G           OE  3.17.0-031700rc7-generic #201409281835

And with the later mainline kernel:
[  153.518720] sas: DONE DISCOVERY on port 7, pid:127, result:-70
[  153.521380] scsi 4:0:0:0: Enclosure         HP       HP SAS EXP Card  2.10 PQ: 0 ANSI: 5
[  153.526442] scsi 4:0:0:0: Attached scsi generic sg1 type 13
[  153.539380] ses 4:0:0:0: Attached Enclosure device
[  153.551072] general protection fault: 0000 [#1] SMP
...
[  153.555559] CPU: 0 PID: 36 Comm: kworker/0:1 Tainted: G           OE  3.17.0-999-generic #201409282205
Comment 14 Tommy Apel 2014-10-14 16:33:28 UTC
This problem is seen on 3.14.21 aswell with expander discovery failure running Adaptec firmware 1.2.0 Build 10624

I applied the patch stated above and it fixed the problem.
Comment 15 linux-ide 2014-10-19 12:17:14 UTC
After the patch there are less issues. However only 1 HP SAS expander is usable on the Adaptec/Pmcs 2280800-R 7805H. 

# uname -a
Linux ubuntu14 3.17.0-031700rc7-generic #201409281835 SMP Sun Sep 28 22:36:30 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

case #1: Attaching 1 expander to HBA port #1 (closest to bracket) = all 32 drives

# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0
[4:0:0:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdb   /dev/sg1
[4:0:1:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdc   /dev/sg2
[4:0:2:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdd   /dev/sg3
[4:0:3:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sde   /dev/sg4
[4:0:4:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdf   /dev/sg5
[4:0:5:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdg   /dev/sg6
[4:0:6:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdh   /dev/sg7
[4:0:7:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdi   /dev/sg8
[4:0:8:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdj   /dev/sg9
[4:0:9:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdk   /dev/sg10
[4:0:10:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdl   /dev/sg11
[4:0:11:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdm   /dev/sg12
[4:0:12:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdn   /dev/sg13
[4:0:13:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdo   /dev/sg14
[4:0:14:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdp   /dev/sg15
[4:0:15:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdq   /dev/sg16
[4:0:16:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdr   /dev/sg17
[4:0:17:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sds   /dev/sg18
[4:0:18:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdt   /dev/sg19
[4:0:19:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdu   /dev/sg20
[4:0:20:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdv   /dev/sg21
[4:0:21:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdw   /dev/sg22
[4:0:22:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdx   /dev/sg23
[4:0:23:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdy   /dev/sg24
[4:0:24:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdz   /dev/sg25
[4:0:25:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaa  /dev/sg26
[4:0:26:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdab  /dev/sg27
[4:0:27:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdac  /dev/sg28
[4:0:28:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdad  /dev/sg29
[4:0:29:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdae  /dev/sg30
[4:0:30:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaf  /dev/sg31
[4:0:31:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdag  /dev/sg32
[4:0:32:0]   enclosu HP       HP SAS EXP Card  2.10  -          /dev/sg33

case #2: Attaching 1 expander to HBA port #2 = all 32 drives

# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0
[4:0:0:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdb   /dev/sg1
[4:0:1:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdc   /dev/sg2
[4:0:2:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdd   /dev/sg3
[4:0:3:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sde   /dev/sg4
[4:0:4:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdf   /dev/sg5
[4:0:5:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdg   /dev/sg6
[4:0:6:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdh   /dev/sg7
[4:0:7:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdi   /dev/sg8
[4:0:8:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdj   /dev/sg9
[4:0:9:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdk   /dev/sg10
[4:0:10:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdl   /dev/sg11
[4:0:11:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdm   /dev/sg12
[4:0:12:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdn   /dev/sg13
[4:0:13:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdo   /dev/sg14
[4:0:14:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdp   /dev/sg15
[4:0:15:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdq   /dev/sg16
[4:0:16:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdr   /dev/sg17
[4:0:17:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sds   /dev/sg18
[4:0:18:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdt   /dev/sg19
[4:0:19:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdu   /dev/sg20
[4:0:20:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdv   /dev/sg21
[4:0:21:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdw   /dev/sg22
[4:0:22:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdx   /dev/sg23
[4:0:23:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdy   /dev/sg24
[4:0:24:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdz   /dev/sg25
[4:0:25:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaa  /dev/sg26
[4:0:26:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdab  /dev/sg27
[4:0:27:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdac  /dev/sg28
[4:0:28:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdad  /dev/sg29
[4:0:29:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdae  /dev/sg30
[4:0:30:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaf  /dev/sg31
[4:0:31:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdag  /dev/sg32
[4:0:32:0]   enclosu HP       HP SAS EXP Card  2.10  -          /dev/sg33

case #3: Attaching identical expanders to #1 and #2 = first 32 drives of 64 drives (only drives on port #1)

# lsscsi -g
[0:0:0:0]    disk    ATA      OCZ-VERTEX       1.3   /dev/sda   /dev/sg0
[4:0:0:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdb   /dev/sg1
[4:0:1:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdc   /dev/sg2
[4:0:2:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdd   /dev/sg3
[4:0:3:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sde   /dev/sg4
[4:0:4:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdf   /dev/sg5
[4:0:5:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdg   /dev/sg6
[4:0:6:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdh   /dev/sg7
[4:0:7:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdi   /dev/sg8
[4:0:8:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdj   /dev/sg9
[4:0:9:0]    disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdk   /dev/sg10
[4:0:10:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdl   /dev/sg11
[4:0:11:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdm   /dev/sg12
[4:0:12:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdn   /dev/sg13
[4:0:13:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdo   /dev/sg14
[4:0:14:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdp   /dev/sg15
[4:0:15:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdq   /dev/sg16
[4:0:16:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdr   /dev/sg17
[4:0:17:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sds   /dev/sg18
[4:0:18:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdt   /dev/sg19
[4:0:19:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdu   /dev/sg20
[4:0:20:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdv   /dev/sg21
[4:0:21:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdw   /dev/sg22
[4:0:22:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdx   /dev/sg23
[4:0:23:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdy   /dev/sg24
[4:0:24:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdz   /dev/sg25
[4:0:25:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaa  /dev/sg26
[4:0:26:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdab  /dev/sg27
[4:0:27:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdac  /dev/sg28
[4:0:28:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdad  /dev/sg29
[4:0:29:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdae  /dev/sg30
[4:0:30:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdaf  /dev/sg31
[4:0:31:0]   disk    ATA      Hitachi HDS5C302 AAB0  /dev/sdag  /dev/sg32
[4:0:32:0]   enclosu HP       HP SAS EXP Card  2.10  -          /dev/sg33
See attachment for full debug dmesg output.

case #4: Attaching 1 expander to HBA port #1, and attaching a second expander serially (the SFF-8088 port 1C of expander #1 to SFF-8087 port 8C of the second expander) results in dmesg output result -70 and 0 expanders detected in lsscsi -g. Dmesg tail:

[  466.935753] pm80xx mpi_smp_completion 2604:smp IO status 0x49
[  466.936112] sas: smp_execute_task: task to dev 5001438023aad066 response: 0x0 status 0x80
[  466.936488] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.936872] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.937211] sas: expander 5001438023aad066 discovery failed(0xffffffba)
[  466.937831] sas: DONE DISCOVERY on port 0, pid:1013, result:-70
[  466.938212] sas: DOING DISCOVERY on port 1, pid:1013
[  466.939344] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.939762] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.940242] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.940648] sas: RG to ex 5001438023aad066 failed:0xffffffba
[  466.941232] sas: DONE DISCOVERY on port 1, pid:1013, result:-70
[  466.941670] sas: DOING DISCOVERY on port 2, pid:1013
[  466.942264] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.942739] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.943221] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.943693] sas: RG to ex 5001438023aad066 failed:0xffffffba
[  466.944256] sas: DONE DISCOVERY on port 2, pid:1013, result:-70
[  466.944777] sas: DOING DISCOVERY on port 3, pid:1013
[  466.945455] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.945996] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.946538] sas: smp_execute_task: task to dev 5001438023aad066 response: 0xffffffff status 0x8a
[  466.947072] sas: RG to ex 5001438023aad066 failed:0xffffffba
[  466.947722] sas: DONE DISCOVERY on port 3, pid:1013, result:-70
Comment 16 linux-ide 2014-10-19 12:18:59 UTC
Created attachment 154171 [details]
dmesg after first pm80xx patch, having 2 expanders attached in parallel

Note You need to log in before you can comment on or make changes to this bug.