mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
sky2: fix missing register reset on error path in sky2_test_msi()
In sky2_test_msi() the temporarily set SW IRQ in B0 register is not reset in case that request_irq() fails. With this patch we only set the interrupt mask if request_irq() was successful. Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eb6a24816b
commit
ede7193d4f
@ -4804,14 +4804,14 @@ static int __devinit sky2_test_msi(struct sky2_hw *hw)
|
||||
|
||||
init_waitqueue_head(&hw->msi_wait);
|
||||
|
||||
sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
|
||||
|
||||
err = request_irq(pdev->irq, sky2_test_intr, 0, DRV_NAME, hw);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "cannot assign irq %d\n", pdev->irq);
|
||||
return err;
|
||||
}
|
||||
|
||||
sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
|
||||
|
||||
sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ);
|
||||
sky2_read8(hw, B0_CTST);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user