
14 Mar
2017
14 Mar
'17
11:52 a.m.
On 13/03/17 15:15, Felipe Balbi wrote:
Hi,
Roger Quadros rogerq@ti.com writes:
+void board_ti_set_ethaddr(int index) +{
- uint8_t mac_addr[6];
- int i;
- u64 mac1, mac2;
- u8 mac_addr1[6], mac_addr2[6];
- int num_macs;
- /*
* Export any Ethernet MAC addresses from EEPROM.
* The 2 MAC addresses in EEPROM define the address range.
*/
- board_ti_get_eth_mac_addr(0, mac_addr1);
- board_ti_get_eth_mac_addr(1, mac_addr2);
- if (is_valid_ethaddr(mac_addr1) && is_valid_ethaddr(mac_addr2)) {
mac1 = mac_to_u64(mac_addr1);
mac2 = mac_to_u64(mac_addr2);
/* must contain an address range */
num_macs = mac2 - mac1 + 1;
/* <= 50 to protect against user programming error */
if (num_macs > 0 && num_macs <= 50) {
if user programs a range > 50, then you do nothing. How about allowing up to 50 addresses?
Something like:
if (num_macs < 0) bail_out();
if (num_macs > 50) { printf("Too many addresses. %d > 50\n", num_macs); num_macs = 50; }
this also mean you can reduce indentation level for the for loop.
Good idea.
--
cheers,
-roger