@@ -2217,6 +2217,25 @@ static void iscsi_stop_conn(struct iscsi_cls_conn *conn, int flag)
2217
2217
ISCSI_DBG_TRANS_CONN (conn , "Stopping conn done.\n" );
2218
2218
}
2219
2219
2220
+ static void iscsi_ep_disconnect (struct iscsi_cls_conn * conn , bool is_active )
2221
+ {
2222
+ struct iscsi_cls_session * session = iscsi_conn_to_session (conn );
2223
+ struct iscsi_endpoint * ep ;
2224
+
2225
+ ISCSI_DBG_TRANS_CONN (conn , "disconnect ep.\n" );
2226
+ conn -> state = ISCSI_CONN_FAILED ;
2227
+
2228
+ if (!conn -> ep || !session -> transport -> ep_disconnect )
2229
+ return ;
2230
+
2231
+ ep = conn -> ep ;
2232
+ conn -> ep = NULL ;
2233
+
2234
+ session -> transport -> unbind_conn (conn , is_active );
2235
+ session -> transport -> ep_disconnect (ep );
2236
+ ISCSI_DBG_TRANS_CONN (conn , "disconnect ep done.\n" );
2237
+ }
2238
+
2220
2239
static int iscsi_if_stop_conn (struct iscsi_transport * transport ,
2221
2240
struct iscsi_uevent * ev )
2222
2241
{
@@ -2257,25 +2276,6 @@ static int iscsi_if_stop_conn(struct iscsi_transport *transport,
2257
2276
return 0 ;
2258
2277
}
2259
2278
2260
- static void iscsi_ep_disconnect (struct iscsi_cls_conn * conn , bool is_active )
2261
- {
2262
- struct iscsi_cls_session * session = iscsi_conn_to_session (conn );
2263
- struct iscsi_endpoint * ep ;
2264
-
2265
- ISCSI_DBG_TRANS_CONN (conn , "disconnect ep.\n" );
2266
- conn -> state = ISCSI_CONN_FAILED ;
2267
-
2268
- if (!conn -> ep || !session -> transport -> ep_disconnect )
2269
- return ;
2270
-
2271
- ep = conn -> ep ;
2272
- conn -> ep = NULL ;
2273
-
2274
- session -> transport -> unbind_conn (conn , is_active );
2275
- session -> transport -> ep_disconnect (ep );
2276
- ISCSI_DBG_TRANS_CONN (conn , "disconnect ep done.\n" );
2277
- }
2278
-
2279
2279
static void iscsi_cleanup_conn_work_fn (struct work_struct * work )
2280
2280
{
2281
2281
struct iscsi_cls_conn * conn = container_of (work , struct iscsi_cls_conn ,
0 commit comments