]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: libsas: Inject revalidate event for root port event
authorJohn Garry <john.garry@huawei.com>
Fri, 12 Apr 2019 08:57:55 +0000 (16:57 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 15 Apr 2019 22:55:00 +0000 (18:55 -0400)
commitc7dcadda9ce812c79577a8348c93f93f35061ef8
treec3c531c4172c6591a5914741384929ed742e4c80
parentdffc6704eac69b804bb030e447058beb778920a0
scsi: libsas: Inject revalidate event for root port event

According to the SAS spec, an expander device shall transmit BROADCAST
(CHANGE) from at least one phy in each expander port other than the
expander port that is the cause for transmitting BROADCAST (CHANGE).

As such, for when the link is lost for a root PHY attached to an expander
PHY, we get no broadcast event.

This causes an issue for libsas, in that we will not revalidate the domain
for these events.

As a solution, for when a root PHY is formed or deformed from a root port,
insert a broadcast event to trigger a domain revalidation.

Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libsas/sas_port.c
include/scsi/libsas.h