.. | .. |
---|
2703 | 2703 | postreset(slave, classes); |
---|
2704 | 2704 | } |
---|
2705 | 2705 | |
---|
2706 | | - /* |
---|
2707 | | - * Some controllers can't be frozen very well and may set spurious |
---|
2708 | | - * error conditions during reset. Clear accumulated error |
---|
2709 | | - * information and re-thaw the port if frozen. As reset is the |
---|
2710 | | - * final recovery action and we cross check link onlineness against |
---|
2711 | | - * device classification later, no hotplug event is lost by this. |
---|
2712 | | - */ |
---|
| 2706 | + /* clear cached SError */ |
---|
2713 | 2707 | spin_lock_irqsave(link->ap->lock, flags); |
---|
2714 | | - memset(&link->eh_info, 0, sizeof(link->eh_info)); |
---|
| 2708 | + link->eh_info.serror = 0; |
---|
2715 | 2709 | if (slave) |
---|
2716 | | - memset(&slave->eh_info, 0, sizeof(link->eh_info)); |
---|
2717 | | - ap->pflags &= ~ATA_PFLAG_EH_PENDING; |
---|
| 2710 | + slave->eh_info.serror = 0; |
---|
2718 | 2711 | spin_unlock_irqrestore(link->ap->lock, flags); |
---|
2719 | 2712 | |
---|
2720 | 2713 | if (ap->pflags & ATA_PFLAG_FROZEN) |
---|