--- ./source/private_module/ckg/raid6/raid6_readrsp.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/ckg/raid6/raid6_readrsp.c.hotpatch	2021-11-24 01:47:38.000000000 +0000
@@ -642,13 +642,12 @@
     RAID6_STRIPE_S *readStripe = NULL;
     RAID_SU_S *su = NULL;
     CKG_IO_PRIVATE_S *ckgIoPrivate = NULL;    
-
+    uint32_t deviceBusyFlag = B_FALSE;
     ckgIoPrivate = GET_CKG_REQ_PRIVATE(stripeReq);
     memberNum = ckgIoPrivate->memberDiskNum;
     readStripe = (RAID6_STRIPE_S *)RAID6_GET_STRIPE_POINT(stripeReq);
     isRetry = B_TRUE;    
     suResult = RETURN_OK;
-    
     for (col = 0; col < memberNum; col++)
     {
         su = readStripe->suRow[col];
@@ -657,23 +656,19 @@
         {
             continue;
         }
-
         /* ¼SUĴ */        
         su->diskErr = su->result;
         suResult = su->result;        
-
         if (RETURN_OK == suResult)
         {
             continue;
         }
-
         stripeReq->result = suResult;
-
         if(IO_ERR_DEVICE_BUSY == suResult)
         {
+            deviceBusyFlag = B_TRUE;
             continue;//jia day in
         }
-        
         ret = raid6FillFailDiskCol(readStripe, col);
         /* жִе̣Խ(̼ʧЧ) */
         if (RETURN_OK == ret)
@@ -713,6 +708,11 @@
             isRetry = B_FALSE;
         }
     }
+    if (unlikely(deviceBusyFlag))
+    {
+        stripeReq->result = RETURN_ERROR;
+        isRetry = B_FALSE;
+    }
     return isRetry;
 }
 
