On Wed, 2020-03-25 at 15:13 -0700, Arun Easi wrote: > On Wed, 25 Mar 2020, 11:21am, Martin Wilck wrote: > > > On Wed, 2020-03-25 at 18:20 +0100, Martin Wilck wrote: > > > Perhaps the (!fw_started) condition should be treated like > > > ABORT_ISP_ACTIVE in qla2x00_mailbox_command, i.e. execute only if > > > is_rom_cmd() returns true? > > > > No, this won't be sufficient, as e.g. MBC_IOCB_COMMAND_A64 is in > > rom_cmds[], but has been found to hang (this is why I had the hunk > > in > > qla24xx_fabric_logout()). The list of mailbox commands > > that must be passed on when the FW is stopped has to be shorter > > than > > rom_cmds[]. > > > > With your patch 2/3, where UNLOADING is set prior to the reset of > chip, in > place this issue should be largely addressed. Basically, paths that > send > out request to wire check UNLOADING bit (if any path is missing > that, > should add the check) before sending it out. > > Now with UNLOADING set (with your patch 2/3), chip reset, and all > outstanding command's completion called (qla2x00_abort_isp_cleanup) I > see > less chance of anything being sent out. If you see any issue with > your > patches 1 & 2 (addressing my comments) applied, let me know and we > can > tackle then. How about that? It sounds like a plan. Although it means that I just wasted time trying to figure out which mailbox commands need to be processed even if the firmware is down :-) Thanks, Martin