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