All of lore.kernel.org
 help / color / mirror / Atom feed
* CQ Doorbells can be touched after queue deleted
@ 2014-09-30 18:32 Paul Grabinar
  2014-09-30 19:41 ` Keith Busch
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Grabinar @ 2014-09-30 18:32 UTC (permalink / raw)


Hi All,
I've encountered an interesting issue with the driver as in v3.17-rc7.
The NVMe specification defines writing to CQ doorbells for non-existent
queues as "undefined", so it is probably not a good idea to do this.
I'm aware of at least one drive that gets very upset if you try.

The case I hit was where there is I/O running to the drive, but the
drive is being reset in the kthread due to not responding to abort requests.
When an I/O request came in, nvme_process_cq was called from
nvme_make_request, but the queue no longer exists as it has been torn
down by the reset.
During nvme_process_cq, the doorbell is updated, which upsets the drive.

This is a bit of a corner case, but it has happened.
We probably need to skip the doorbell update if the queue has been deleted.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-30 19:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-30 18:32 CQ Doorbells can be touched after queue deleted Paul Grabinar
2014-09-30 19:41 ` Keith Busch
2014-09-30 19:55   ` Paul Grabinar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.