@@ -53,8 +53,8 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
53
53
struct drm_dp_mst_port * port ,
54
54
int offset , int size , u8 * bytes );
55
55
56
- static int drm_dp_send_link_address (struct drm_dp_mst_topology_mgr * mgr ,
57
- struct drm_dp_mst_branch * mstb );
56
+ static void drm_dp_send_link_address (struct drm_dp_mst_topology_mgr * mgr ,
57
+ struct drm_dp_mst_branch * mstb );
58
58
static int drm_dp_send_enum_path_resources (struct drm_dp_mst_topology_mgr * mgr ,
59
59
struct drm_dp_mst_branch * mstb ,
60
60
struct drm_dp_mst_port * port );
@@ -1109,10 +1109,8 @@ static void drm_dp_add_port(struct drm_dp_mst_branch *mstb,
1109
1109
drm_dp_port_teardown_pdt (port , old_pdt );
1110
1110
1111
1111
ret = drm_dp_port_setup_pdt (port );
1112
- if (ret == true) {
1112
+ if (ret == true)
1113
1113
drm_dp_send_link_address (mstb -> mgr , port -> mstb );
1114
- port -> mstb -> link_address_sent = true;
1115
- }
1116
1114
}
1117
1115
1118
1116
if (created && !port -> input ) {
@@ -1216,10 +1214,9 @@ static void drm_dp_check_and_send_link_address(struct drm_dp_mst_topology_mgr *m
1216
1214
{
1217
1215
struct drm_dp_mst_port * port ;
1218
1216
struct drm_dp_mst_branch * mstb_child ;
1219
- if (!mstb -> link_address_sent ) {
1217
+ if (!mstb -> link_address_sent )
1220
1218
drm_dp_send_link_address (mgr , mstb );
1221
- mstb -> link_address_sent = true;
1222
- }
1219
+
1223
1220
list_for_each_entry (port , & mstb -> ports , next ) {
1224
1221
if (port -> input )
1225
1222
continue ;
@@ -1472,20 +1469,21 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
1472
1469
mutex_unlock (& mgr -> qlock );
1473
1470
}
1474
1471
1475
- static int drm_dp_send_link_address (struct drm_dp_mst_topology_mgr * mgr ,
1476
- struct drm_dp_mst_branch * mstb )
1472
+ static void drm_dp_send_link_address (struct drm_dp_mst_topology_mgr * mgr ,
1473
+ struct drm_dp_mst_branch * mstb )
1477
1474
{
1478
1475
int len ;
1479
1476
struct drm_dp_sideband_msg_tx * txmsg ;
1480
1477
int ret ;
1481
1478
1482
1479
txmsg = kzalloc (sizeof (* txmsg ), GFP_KERNEL );
1483
1480
if (!txmsg )
1484
- return - ENOMEM ;
1481
+ return ;
1485
1482
1486
1483
txmsg -> dst = mstb ;
1487
1484
len = build_link_address (txmsg );
1488
1485
1486
+ mstb -> link_address_sent = true;
1489
1487
drm_dp_queue_down_tx (mgr , txmsg );
1490
1488
1491
1489
ret = drm_dp_mst_wait_tx_reply (mstb , txmsg );
@@ -1513,11 +1511,12 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
1513
1511
}
1514
1512
(* mgr -> cbs -> hotplug )(mgr );
1515
1513
}
1516
- } else
1514
+ } else {
1515
+ mstb -> link_address_sent = false;
1517
1516
DRM_DEBUG_KMS ("link address failed %d\n" , ret );
1517
+ }
1518
1518
1519
1519
kfree (txmsg );
1520
- return 0 ;
1521
1520
}
1522
1521
1523
1522
static int drm_dp_send_enum_path_resources (struct drm_dp_mst_topology_mgr * mgr ,
0 commit comments