freebsd-dev/sys/dev/mpr
Alexander Motin e3c5965c25 mpr(4): Handle mprsas_alloc_tm() errors on device removal.
SAS9305-16e with firmware 16.00.01.00 report HighPriorityCredit of
only 8, while for comparison some other combinations I have report
100 or even 128.  In case of large JBOD detach requirement to send
target reset command to each target same time overflows the limit,
and without adequate handling makes devices stuck in half-detached
state, preventing later re-attach.

To handle that in case of allocation error mark the target with new
MPRSAS_TARGET_TOREMOVE flag, and retry the removal attempt next time
something else free high priority command.  With this patch I can
successfully detach/attach 102 disk JBOD from/to the SAS9305-16e.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2021-08-20 10:03:32 -04:00
..
mpi mpr: clean up empty lines in .c and .h files 2020-09-01 22:07:12 +00:00
mpr_config.c mpr: big-endian support 2021-03-02 22:21:42 -03:00
mpr_ioctl.h mpr: clean up empty lines in .c and .h files 2020-09-01 22:07:12 +00:00
mpr_mapping.c mpr/mps(4): Make device mapping some more robust. 2021-04-23 23:36:51 -04:00
mpr_mapping.h Update copyright information 2018-12-26 10:43:31 +00:00
mpr_pci.c Refine the busdma template interface. Provide tools for filling in fields 2020-09-14 05:58:12 +00:00
mpr_sas_lsi.c mpr(4): Handle mprsas_alloc_tm() errors on device removal. 2021-08-20 10:03:32 -04:00
mpr_sas.c mpr(4): Handle mprsas_alloc_tm() errors on device removal. 2021-08-20 10:03:32 -04:00
mpr_sas.h mpr(4): Handle mprsas_alloc_tm() errors on device removal. 2021-08-20 10:03:32 -04:00
mpr_table.c mpr: big-endian support 2021-03-02 22:21:42 -03:00
mpr_table.h
mpr_user.c mpr, mps: Fix an off-by-one bug in the BTDH_MAPPING ioctl 2021-01-08 13:32:05 -05:00
mpr.c Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-10 20:44:27 -04:00
mprvar.h mpr(4): Handle mprsas_alloc_tm() errors on device removal. 2021-08-20 10:03:32 -04:00