libsas: old linkrate advertised after phy disabled

Bug #1830435 reported by dann frazier on 2019-05-24
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Status tracked in Eoan
dann frazier
dann frazier

Bug Description

sysfs continues to expose a valid phy linkrate even after the phy has been disabled.

[Test Case]
Using hisi_sas, a libsas-based driver:
(initramfs) cd /sys/class/sas_phy/phy-0\:0\:20
(initramfs) cat negotiated_linkrate
12.0 Gbit
(initramfs) echo 0 > enable
[ 59.172411] hisi_sas_v3_hw 0000:74:02.0: phydown: phy0 phy_state=0xfe
[ 59.178851] hisi_sas_v3_hw 0000:74:02.0: erroneous completion iptt=4028 task=00000000bb3ab63f dev id=1 CQ hdr: 0x1103 0x10fbc 0x0 0x20000 Error info: 0x0 0x4000000 0x0 0x0
[ 59.194139] sas: smp_execute_task_sg: task to dev 500e004aaaaaaa1f response: 0x0 status 0x2
(initramfs) cat negotiated_linkrate
12.0 Gbit

(Note to self: d06-1 has the setup to reproduce this)

d8649fc1c5e40 scsi: libsas: Do discovery on empty PHY to update PHY info
085f104a83d56 scsi: libsas: Inject revalidate event for root port event

[Regression Risk]
Impact is limited to drivers built on top of libsas.

dann frazier (dannf) on 2019-06-14
Changed in linux (Ubuntu Disco):
status: New → In Progress
assignee: nobody → dann frazier (dannf)
summary: - phy linkrate persists after deactivation
+ libsas: old linkrate advertised after phy disabled
description: updated
dann frazier (dannf) on 2019-06-14
description: updated
Stefan Bader (smb) on 2019-06-28
Changed in linux (Ubuntu Disco):
importance: Undecided → Medium
Changed in linux (Ubuntu Disco):
status: In Progress → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-disco' to 'verification-done-disco'. If the problem still exists, change the tag 'verification-needed-disco' to 'verification-failed-disco'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-disco
dann frazier (dannf) wrote :

(initramfs) cd /sys/class/sas_phy/phy-0\:0\:20
(initramfs) cat negotiated_linkrate
12.0 Gbit
(initramfs) echo 0 > enable
[ 42.507684] hisi_sas_v3_hw 0000:74:02.0: phydown: phy0 phy_state=0xfe
[ 42.558239] hisi_sas_v3_hw 0000:74:02.0: erroneous completion iptt=4048 task=(____ptrval____) dev id=1 CQ hdr: 0x1103 0x10fd0 0x0 0x20000 Error info: 0x0 0x4000000 0x0 0x0
[ 42.573527] sas: smp_execute_task_sg: task to dev 500e004aaaaaaa1f response: 0x0 status 0x2
(initramfs) [ 42.583264] sas: ex 500e004aaaaaaa1f phy20 change count has changed

(initramfs) echo 0 > enable
(initramfs) cat negotiated_linkrate
Phy disabled

tags: added: verification-done-disco
removed: verification-needed-disco
Launchpad Janitor (janitor) wrote :
Download full text (57.5 KiB)

This bug was fixed in the package linux - 5.0.0-21.22

linux (5.0.0-21.22) disco; urgency=medium

  * linux: 5.0.0-21.22 -proposed tracker (LP: #1834902)

  * Disco update: 5.0.15 upstream stable release (LP: #1834529)
    - net: stmmac: Use bfsize1 in ndesc_init_rx_desc
    - Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup()
    - ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings
    - staging: greybus: power_supply: fix prop-descriptor request size
    - staging: wilc1000: Avoid GFP_KERNEL allocation from atomic context.
    - staging: most: cdev: fix chrdev_region leak in mod_exit
    - staging: most: sound: pass correct device when creating a sound card
    - ASoC: tlv320aic3x: fix reset gpio reference counting
    - ASoC: hdmi-codec: fix S/PDIF DAI
    - ASoC: stm32: sai: fix iec958 controls indexation
    - ASoC: stm32: sai: fix exposed capabilities in spdif mode
    - ASoC: stm32: sai: fix race condition in irq handler
    - ASoC:soc-pcm:fix a codec fixup issue in TDM case
    - ASoC:hdac_hda:use correct format to setup hda codec
    - ASoC:intel:skl:fix a simultaneous playback & capture issue on hda platform
    - ASoC: dpcm: prevent snd_soc_dpcm use after free
    - ASoC: nau8824: fix the issue of the widget with prefix name
    - ASoC: nau8810: fix the issue of widget with prefixed name
    - ASoC: samsung: odroid: Fix clock configuration for 44100 sample rate
    - ASoC: rt5682: Check JD status when system resume
    - ASoC: rt5682: fix jack type detection issue
    - ASoC: rt5682: recording has no sound after booting
    - ASoC: wm_adsp: Add locking to wm_adsp2_bus_error
    - clk: meson-gxbb: round the vdec dividers to closest
    - ASoC: stm32: dfsdm: manage multiple prepare
    - ASoC: stm32: dfsdm: fix debugfs warnings on entry creation
    - ASoC: cs4270: Set auto-increment bit for register writes
    - ASoC: dapm: Fix NULL pointer dereference in snd_soc_dapm_free_kcontrol
    - drm/omap: hdmi4_cec: Fix CEC clock handling for PM
    - IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state
    - IB/hfi1: Eliminate opcode tests on mr deref
    - IB/hfi1: Fix the allocation of RSM table
    - MIPS: KGDB: fix kgdb support for SMP platforms.
    - ASoC: tlv320aic32x4: Fix Common Pins
    - drm/mediatek: Fix an error code in mtk_hdmi_dt_parse_pdata()
    - perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS
    - perf/x86/intel: Initialize TFA MSR
    - linux/kernel.h: Use parentheses around argument in u64_to_user_ptr()
    - iov_iter: Fix build error without CONFIG_CRYPTO
    - xtensa: fix initialization of pt_regs::syscall in start_thread
    - ASoC: rockchip: pdm: fix regmap_ops hang issue
    - drm/amdkfd: Add picasso pci id
    - drm/amdgpu: Adjust IB test timeout for XGMI configuration
    - drm/amdgpu: amdgpu_device_recover_vram always failed if only one node in
    - drm/amd/display: fix cursor black issue
    - ASoC: cs35l35: Disable regulators on driver removal
    - objtool: Add rewind_stack_do_exit() to the noreturn list
    - slab: fix a crash by reading /proc/slab_allocators
    - drm/sun4i: tcon top: Fix NULL/inv...

Changed in linux (Ubuntu Disco):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers