Hi Ming, That patch looks very good so far. I have rebooted and repowered many times without an Oops. I'm going to put together a script that will continually reboot and maintain a count and let that run for a while. Here's the gdb info before your change: (gdb) l *(blk_mq_hctx_notify_online+0x34) 0xffff8000807c722c is in blk_mq_hctx_notify_online (block/blk-mq.h:84). 79 */ 80 static inline struct blk_mq_hw_ctx *blk_mq_map_queue_type(struct request_queue *q, 81 enum hctx_type type, 82 unsigned int cpu) 83 { 84 return xa_load(&q->hctx_table, q->tag_set->map[type].mq_map[cpu]); 85 } 86 87 static inline enum hctx_type blk_mq_get_hctx_type(blk_opf_t opf) 88 { -Rick