File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change 24
24
25
25
#define ISCSI_TRANSPORT_VERSION "2.0-870"
26
26
27
+ #define ISCSI_SEND_MAX_ALLOWED 10
28
+
27
29
#define CREATE_TRACE_POINTS
28
30
#include <trace/events/iscsi.h>
29
31
@@ -3682,6 +3684,7 @@ iscsi_if_rx(struct sk_buff *skb)
3682
3684
struct nlmsghdr * nlh ;
3683
3685
struct iscsi_uevent * ev ;
3684
3686
uint32_t group ;
3687
+ int retries = ISCSI_SEND_MAX_ALLOWED ;
3685
3688
3686
3689
nlh = nlmsg_hdr (skb );
3687
3690
if (nlh -> nlmsg_len < sizeof (* nlh ) + sizeof (* ev ) ||
@@ -3712,6 +3715,10 @@ iscsi_if_rx(struct sk_buff *skb)
3712
3715
break ;
3713
3716
err = iscsi_if_send_reply (portid , nlh -> nlmsg_type ,
3714
3717
ev , sizeof (* ev ));
3718
+ if (err == - EAGAIN && -- retries < 0 ) {
3719
+ printk (KERN_WARNING "Send reply failed, error %d\n" , err );
3720
+ break ;
3721
+ }
3715
3722
} while (err < 0 && err != - ECONNREFUSED && err != - ESRCH );
3716
3723
skb_pull (skb , rlen );
3717
3724
}
You can’t perform that action at this time.
0 commit comments