mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 14:30:58 +07:00
[TG3]: Fix crash during tg3_init_one().
The driver will crash when the chip has been initialized by EFI before tg3_init_one(). In this case, the driver will call tg3_chip_reset() before allocating consistent memory. The bug is fixed by checking for tp->hw_status before accessing it during tg3_chip_reset(). Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
161980f4c6
commit
b8fa2f3a82
@ -4834,8 +4834,10 @@ static int tg3_chip_reset(struct tg3 *tp)
|
||||
* sharing or irqpoll.
|
||||
*/
|
||||
tp->tg3_flags |= TG3_FLAG_CHIP_RESETTING;
|
||||
tp->hw_status->status = 0;
|
||||
tp->hw_status->status_tag = 0;
|
||||
if (tp->hw_status) {
|
||||
tp->hw_status->status = 0;
|
||||
tp->hw_status->status_tag = 0;
|
||||
}
|
||||
tp->last_tag = 0;
|
||||
smp_mb();
|
||||
synchronize_irq(tp->pdev->irq);
|
||||
|
Loading…
Reference in New Issue
Block a user