Made waiting for device semaphore uninterruptible.

This commit is contained in:
Florian Pose 2007-03-12 08:47:56 +00:00
parent 6ef75e4d45
commit 594c3bb715
2 changed files with 4 additions and 16 deletions

View File

@ -959,18 +959,13 @@ ssize_t ec_master_info(ec_master_t *master, /**< EtherCAT master */
off += sprintf(buffer + off, "\nDevices:\n");
if (down_interruptible(&master->device_sem)) {
EC_ERR("Interrupted while waiting for device!\n");
return -EINVAL;
}
down(&master->device_sem);
off += sprintf(buffer + off, " Main: ");
off += ec_master_device_info(&master->main_device,
master->main_mac, buffer + off);
off += sprintf(buffer + off, " Backup: ");
off += ec_master_device_info(&master->backup_device,
master->backup_mac, buffer + off);
up(&master->device_sem);
off += sprintf(buffer + off, "\nTiming (min/avg/max) [us]:\n");

View File

@ -403,11 +403,7 @@ int ecdev_offer(struct net_device *net_dev, /**< net_device to offer */
EC_INFO("Accepting device %s for master %u.\n",
str, master->index);
if (down_interruptible(&master->device_sem)) {
EC_ERR("Interrupted while waiting for device semaphore!\n");
return -1;
}
down(&master->device_sem);
if (master->main_device.dev) {
EC_ERR("Master %u already has a device attached.\n",
master->index);
@ -542,11 +538,8 @@ ec_master_t *ecrt_request_master(unsigned int master_index
master->reserved = 1;
up(&master_sem);
if (down_interruptible(&master->device_sem)) {
EC_ERR("Interrupted while waiting for device!\n");
goto out_release;
}
down(&master->device_sem);
if (master->mode != EC_MASTER_MODE_IDLE) {
up(&master->device_sem);
EC_ERR("Master %u still waiting for devices!\n", master_index);