aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen M. Cameron <stephenmcameron@gmail.com>2014-11-14 18:27:14 -0500
committerChristoph Hellwig <hch@lst.de>2014-11-20 03:11:26 -0500
commit2f371c92c446a1ca2d1911c7479de4c78c4b3804 (patch)
treefa223583b88df38d2276219792d49656d82cd610
parent0cbf768ef834c810d1eab205f21a434b9356d329 (diff)
hpsa: do not be so noisy about check conditions
We were printing a lot of useless information before ultimately just passing things up to the SCSI mid layer. Just let the midlayer handle it without LLD chatter. Signed-off-by: Don Brace <don.brace@pmcs.com> Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com> Reviewed-by: Joe Handzik <joseph.t.handzik@hp.com> Reviewed-by: Scott Teel <scott.teel@hp.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
-rw-r--r--drivers/scsi/hpsa.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index c079bb94f86b..236e2fa93086 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -1760,72 +1760,13 @@ static void complete_scsi_command(struct CommandList *cp)
1760 /* Get addition sense code qualifier */ 1760 /* Get addition sense code qualifier */
1761 ascq = ei->SenseInfo[13]; 1761 ascq = ei->SenseInfo[13];
1762 } 1762 }
1763
1764 if (ei->ScsiStatus == SAM_STAT_CHECK_CONDITION) { 1763 if (ei->ScsiStatus == SAM_STAT_CHECK_CONDITION) {
1765 if (check_for_unit_attention(h, cp))
1766 break;
1767 if (sense_key == ILLEGAL_REQUEST) {
1768 /*
1769 * SCSI REPORT_LUNS is commonly unsupported on
1770 * Smart Array. Suppress noisy complaint.
1771 */
1772 if (cp->Request.CDB[0] == REPORT_LUNS)
1773 break;
1774
1775 /* If ASC/ASCQ indicate Logical Unit
1776 * Not Supported condition,
1777 */
1778 if ((asc == 0x25) && (ascq == 0x0)) {
1779 dev_warn(&h->pdev->dev, "cp %p "
1780 "has check condition\n", cp);
1781 break;
1782 }
1783 }
1784
1785 if (sense_key == NOT_READY) {
1786 /* If Sense is Not Ready, Logical Unit
1787 * Not ready, Manual Intervention
1788 * required
1789 */
1790 if ((asc == 0x04) && (ascq == 0x03)) {
1791 dev_warn(&h->pdev->dev, "cp %p "
1792 "has check condition: unit "
1793 "not ready, manual "
1794 "intervention required\n", cp);
1795 break;
1796 }
1797 }
1798 if (sense_key == ABORTED_COMMAND) { 1764 if (sense_key == ABORTED_COMMAND) {
1799 /* Aborted command is retryable */
1800 dev_warn(&h->pdev->dev, "cp %p "
1801 "has check condition: aborted command: "
1802 "ASC: 0x%x, ASCQ: 0x%x\n",
1803 cp, asc, ascq);
1804 cmd->result |= DID_SOFT_ERROR << 16; 1765 cmd->result |= DID_SOFT_ERROR << 16;
1805 break; 1766 break;
1806 } 1767 }
1807 /* Must be some other type of check condition */
1808 dev_dbg(&h->pdev->dev, "cp %p has check condition: "
1809 "unknown type: "
1810 "Sense: 0x%x, ASC: 0x%x, ASCQ: 0x%x, "
1811 "Returning result: 0x%x, "
1812 "cmd=[%02x %02x %02x %02x %02x "
1813 "%02x %02x %02x %02x %02x %02x "
1814 "%02x %02x %02x %02x %02x]\n",
1815 cp, sense_key, asc, ascq,
1816 cmd->result,
1817 cmd->cmnd[0], cmd->cmnd[1],
1818 cmd->cmnd[2], cmd->cmnd[3],
1819 cmd->cmnd[4], cmd->cmnd[5],
1820 cmd->cmnd[6], cmd->cmnd[7],
1821 cmd->cmnd[8], cmd->cmnd[9],
1822 cmd->cmnd[10], cmd->cmnd[11],
1823 cmd->cmnd[12], cmd->cmnd[13],
1824 cmd->cmnd[14], cmd->cmnd[15]);
1825 break; 1768 break;
1826 } 1769 }
1827
1828
1829 /* Problem was not a check condition 1770 /* Problem was not a check condition
1830 * Pass it up to the upper layers... 1771 * Pass it up to the upper layers...
1831 */ 1772 */