libata-eh.c (771b8dad9653d2659e0ffcc237184cb16c317788) libata-eh.c (a51d644af6eb0a93bc383e5f005faa445c87f335)
1/*
2 * libata-eh.c - libata error handling
3 *
4 * Maintained by: Jeff Garzik <jgarzik@pobox.com>
5 * Please ALWAYS copy linux-ide@vger.kernel.org
6 * on emails.
7 *
8 * Copyright 2006 Tejun Heo <htejun@gmail.com>

--- 1137 unchanged lines hidden (view full) ---

1146 unsigned int tmp, action = 0;
1147 u8 stat = tf->command, err = tf->feature;
1148
1149 if ((stat & (ATA_BUSY | ATA_DRQ | ATA_DRDY)) != ATA_DRDY) {
1150 qc->err_mask |= AC_ERR_HSM;
1151 return ATA_EH_SOFTRESET;
1152 }
1153
1/*
2 * libata-eh.c - libata error handling
3 *
4 * Maintained by: Jeff Garzik <jgarzik@pobox.com>
5 * Please ALWAYS copy linux-ide@vger.kernel.org
6 * on emails.
7 *
8 * Copyright 2006 Tejun Heo <htejun@gmail.com>

--- 1137 unchanged lines hidden (view full) ---

1146 unsigned int tmp, action = 0;
1147 u8 stat = tf->command, err = tf->feature;
1148
1149 if ((stat & (ATA_BUSY | ATA_DRQ | ATA_DRDY)) != ATA_DRDY) {
1150 qc->err_mask |= AC_ERR_HSM;
1151 return ATA_EH_SOFTRESET;
1152 }
1153
1154 if (!(qc->err_mask & AC_ERR_DEV))
1154 if (stat & (ATA_ERR | ATA_DF))
1155 qc->err_mask |= AC_ERR_DEV;
1156 else
1155 return 0;
1156
1157 switch (qc->dev->class) {
1158 case ATA_DEV_ATA:
1159 if (err & ATA_ICRC)
1160 qc->err_mask |= AC_ERR_ATA_BUS;
1161 if (err & ATA_UNC)
1162 qc->err_mask |= AC_ERR_MEDIA;

--- 1257 unchanged lines hidden ---
1157 return 0;
1158
1159 switch (qc->dev->class) {
1160 case ATA_DEV_ATA:
1161 if (err & ATA_ICRC)
1162 qc->err_mask |= AC_ERR_ATA_BUS;
1163 if (err & ATA_UNC)
1164 qc->err_mask |= AC_ERR_MEDIA;

--- 1257 unchanged lines hidden ---