| .. | .. |
|---|
| 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) |
|---|