Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158503
b: refs/heads/master
c: 1e64106
h: refs/heads/master
i:
  158501: 013fe02
  158499: 0b8b23e
  158495: f360db3
v: v3
  • Loading branch information
Tejun Heo authored and Jeff Garzik committed Sep 1, 2009
1 parent 1b4a85e commit 661855d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 388539f3ff0cf1de926b03f94e1eec112358f74d
refs/heads/master: 1e641060c4b564e820abdb6a4c7a603a0d386250
12 changes: 9 additions & 3 deletions trunk/drivers/ata/libata-eh.c
Original file line number Diff line number Diff line change
Expand Up @@ -2576,11 +2576,17 @@ int ata_eh_reset(struct ata_link *link, int classify,
postreset(slave, classes);
}

/* clear cached SError */
/*
* Some controllers can't be frozen very well and may set
* spuruious error conditions during reset. Clear accumulated
* error information. As reset is the final recovery action,
* nothing is lost by doing this.
*/
spin_lock_irqsave(link->ap->lock, flags);
link->eh_info.serror = 0;
memset(&link->eh_info, 0, sizeof(link->eh_info));
if (slave)
slave->eh_info.serror = 0;
memset(&slave->eh_info, 0, sizeof(link->eh_info));
ap->pflags &= ~ATA_PFLAG_EH_PENDING;
spin_unlock_irqrestore(link->ap->lock, flags);

/* Make sure onlineness and classification result correspond.
Expand Down

0 comments on commit 661855d

Please sign in to comment.