nvme: move init of keep_alive work item to controller initialization
authorJames Smart <jsmart2021@gmail.com>
Tue, 12 Jun 2018 23:28:24 +0000 (16:28 -0700)
committerChristoph Hellwig <hch@lst.de>
Mon, 23 Jul 2018 07:35:13 +0000 (09:35 +0200)
commit230f1f9e04e2abee34b1478b3bcc2d947b7cc2a0
treebacba46ff1c9cdaca1b9b3de5f3bc9fc46503180
parent40c6f9c28ef03f2f2c3ee58c2447a6e6b9a713f2
nvme: move init of keep_alive work item to controller initialization

Currently, the code initializes the keep alive work item whenever
nvme_start_keep_alive() is called. However, this routine is called
several times while reconnecting, etc. Although it's hoped that keep
alive is always disabled and not scheduled when start is called,
re-initing if it were scheduled or completing can have very bad
side effects. There's no need for re-initialization.

Move the keep_alive work item and cmd struct initialization to
controller init.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/core.c