Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77cd72a5 authored by Dan Williams's avatar Dan Williams Committed by James Bottomley
Browse files

[SCSI] isci: fix event-get pointer increment



Hardware only increments the put pointer on event types >= 4.  Do not
increment the get pointer for event type 3.

Reported-by: default avatarKapil Karkra <kapil.karkra@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 9b4be528
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -531,6 +531,9 @@ static void sci_controller_process_completions(struct isci_host *ihost)
			break;

		case SCU_COMPLETION_TYPE_EVENT:
			sci_controller_event_completion(ihost, ent);
			break;

		case SCU_COMPLETION_TYPE_NOTIFY: {
			event_cycle ^= ((event_get+1) & SCU_MAX_EVENTS) <<
				       (SMU_COMPLETION_QUEUE_GET_EVENT_CYCLE_BIT_SHIFT - SCU_MAX_EVENTS_SHIFT);