equal
deleted
inserted
replaced
401 if (ec_mac_equal(master->main_mac, net_dev->dev_addr)) { |
401 if (ec_mac_equal(master->main_mac, net_dev->dev_addr)) { |
402 ec_mac_print(master->main_mac, str); |
402 ec_mac_print(master->main_mac, str); |
403 EC_INFO("Accepting device %s for master %u.\n", |
403 EC_INFO("Accepting device %s for master %u.\n", |
404 str, master->index); |
404 str, master->index); |
405 |
405 |
406 if (down_interruptible(&master->device_sem)) { |
406 down(&master->device_sem); |
407 EC_ERR("Interrupted while waiting for device semaphore!\n"); |
|
408 return -1; |
|
409 } |
|
410 |
|
411 if (master->main_device.dev) { |
407 if (master->main_device.dev) { |
412 EC_ERR("Master %u already has a device attached.\n", |
408 EC_ERR("Master %u already has a device attached.\n", |
413 master->index); |
409 master->index); |
414 up(&master->device_sem); |
410 up(&master->device_sem); |
415 return -1; |
411 return -1; |
540 goto out_return; |
536 goto out_return; |
541 } |
537 } |
542 master->reserved = 1; |
538 master->reserved = 1; |
543 up(&master_sem); |
539 up(&master_sem); |
544 |
540 |
545 if (down_interruptible(&master->device_sem)) { |
541 down(&master->device_sem); |
546 EC_ERR("Interrupted while waiting for device!\n"); |
542 |
547 goto out_release; |
|
548 } |
|
549 |
|
550 if (master->mode != EC_MASTER_MODE_IDLE) { |
543 if (master->mode != EC_MASTER_MODE_IDLE) { |
551 up(&master->device_sem); |
544 up(&master->device_sem); |
552 EC_ERR("Master %u still waiting for devices!\n", master_index); |
545 EC_ERR("Master %u still waiting for devices!\n", master_index); |
553 goto out_release; |
546 goto out_release; |
554 } |
547 } |