@@ -287,24 +287,23 @@ static struct net_device_stats *esp_get_stats(struct net_device *ndev)
287
287
return & priv -> stats ;
288
288
}
289
289
290
- #if 0
291
290
static int esp_set_mac_address (struct net_device * ndev , void * data )
292
291
{
293
292
struct esp_wifi_device * priv = netdev_priv (ndev );
294
- //struct sockaddr *mac_addr = data;
293
+ struct sockaddr * sa = (struct sockaddr * )data ;
294
+ int ret ;
295
295
296
296
if (!priv || !priv -> adapter )
297
297
return - EINVAL ;
298
298
299
- esp_info ("%u " MACSTR "\n" , __LINE__ , MAC2STR (priv -> mac_address ));
300
- eth_hw_addr_set (ndev , priv -> mac_address /*mac_addr->sa_data*/ );
299
+ esp_info ("%u " MACSTR "\n" , __LINE__ , MAC2STR (sa -> sa_data ));
301
300
302
- return 0 ;
303
- }
304
- #endif
301
+ ret = cmd_set_mac (priv , sa -> sa_data );
305
302
306
- static NDO_TX_TIMEOUT_PROTOTYPE ()
307
- {
303
+ if (ret == 0 )
304
+ eth_hw_addr_set (ndev , priv -> mac_address /*mac_addr->sa_data*/ );
305
+
306
+ return ret ;
308
307
}
309
308
310
309
static void esp_set_rx_mode (struct net_device * ndev )
@@ -379,8 +378,8 @@ static const struct net_device_ops esp_netdev_ops = {
379
378
.ndo_open = esp_open ,
380
379
.ndo_stop = esp_stop ,
381
380
.ndo_start_xmit = esp_hard_start_xmit ,
381
+ .ndo_set_mac_address = esp_set_mac_address ,
382
382
.ndo_validate_addr = eth_validate_addr ,
383
- .ndo_tx_timeout = esp_tx_timeout ,
384
383
.ndo_get_stats = esp_get_stats ,
385
384
.ndo_set_rx_mode = esp_set_rx_mode ,
386
385
};
0 commit comments