[PATCH] nvmet: Don't queue fatal error work if csts.cfs is set

Sagi Grimberg sagi at grimberg.me
Thu Nov 3 17:13:27 PDT 2016


>>  {
>> -	ctrl->csts |= NVME_CSTS_CFS;
>> +	if (test_and_set_bit(NVME_CSTS_CFS, (unsigned long *)&ctrl->csts))
>> +		return;
>> +
>
> This can't work - test_and_set_bit takes a bit index and NVME_CSTS_CFS
> is the actual value.  I think we'll need a lock to protect ->csts
> instead.

Oops... it still prevents from fatal_err work from requeueing
so at least I got 50% :)

I'll send a proper patch with a lock in place...



More information about the Linux-nvme mailing list