libata-eh.c (f046519fc85a8fdf6a058b4ac9d897cdee6f3e52) | libata-eh.c (e0614db2a398d4d0dc5fb47fe2c2783141262a3e) |
---|---|
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> --- 1294 unchanged lines hidden (view full) --- 1303 */ 1304static void ata_eh_analyze_serror(struct ata_link *link) 1305{ 1306 struct ata_eh_context *ehc = &link->eh_context; 1307 u32 serror = ehc->i.serror; 1308 unsigned int err_mask = 0, action = 0; 1309 u32 hotplug_mask; 1310 | 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> --- 1294 unchanged lines hidden (view full) --- 1303 */ 1304static void ata_eh_analyze_serror(struct ata_link *link) 1305{ 1306 struct ata_eh_context *ehc = &link->eh_context; 1307 u32 serror = ehc->i.serror; 1308 unsigned int err_mask = 0, action = 0; 1309 u32 hotplug_mask; 1310 |
1311 if (serror & SERR_PERSISTENT) { | 1311 if (serror & (SERR_PERSISTENT | SERR_DATA)) { |
1312 err_mask |= AC_ERR_ATA_BUS; 1313 action |= ATA_EH_RESET; 1314 } | 1312 err_mask |= AC_ERR_ATA_BUS; 1313 action |= ATA_EH_RESET; 1314 } |
1315 if (serror & 1316 (SERR_DATA_RECOVERED | SERR_COMM_RECOVERED | SERR_DATA)) { 1317 err_mask |= AC_ERR_ATA_BUS; 1318 action |= ATA_EH_RESET; 1319 } | |
1320 if (serror & SERR_PROTOCOL) { 1321 err_mask |= AC_ERR_HSM; 1322 action |= ATA_EH_RESET; 1323 } 1324 if (serror & SERR_INTERNAL) { 1325 err_mask |= AC_ERR_SYSTEM; 1326 action |= ATA_EH_RESET; 1327 } --- 1648 unchanged lines hidden --- | 1315 if (serror & SERR_PROTOCOL) { 1316 err_mask |= AC_ERR_HSM; 1317 action |= ATA_EH_RESET; 1318 } 1319 if (serror & SERR_INTERNAL) { 1320 err_mask |= AC_ERR_SYSTEM; 1321 action |= ATA_EH_RESET; 1322 } --- 1648 unchanged lines hidden --- |