master/slave.c
changeset 1606 6c5849669900
parent 1597 491dea6f4fd7
parent 1586 eb9185dfa8ac
child 1831 1875b9fea0ba
equal deleted inserted replaced
1605:1a588303083a 1606:6c5849669900
   343 {
   343 {
   344     unsigned int i;
   344     unsigned int i;
   345     uint8_t flags;
   345     uint8_t flags;
   346 
   346 
   347     if (data_size != 32) {
   347     if (data_size != 32) {
   348         EC_ERR("Wrong size of general category (%u/32) in slave %u.\n",
   348         EC_ERR("Wrong size of general category (%zu/32) in slave %u.\n",
   349                 data_size, slave->ring_position);
   349                 data_size, slave->ring_position);
   350         return -EINVAL;
   350         return -EINVAL;
   351     }
   351     }
   352 
   352 
   353     slave->sii.group = ec_slave_sii_string(slave, data[0]);
   353     slave->sii.group = ec_slave_sii_string(slave, data[0]);
   398     ec_sync_t *syncs;
   398     ec_sync_t *syncs;
   399     uint8_t index;
   399     uint8_t index;
   400 
   400 
   401     // one sync manager struct is 4 words long
   401     // one sync manager struct is 4 words long
   402     if (data_size % 8) {
   402     if (data_size % 8) {
   403         EC_ERR("Invalid SII sync manager category size %u in slave %u.\n",
   403         EC_ERR("Invalid SII sync manager category size %zu in slave %u.\n",
   404                 data_size, slave->ring_position);
   404                 data_size, slave->ring_position);
   405         return -EINVAL;
   405         return -EINVAL;
   406     }
   406     }
   407 
   407 
   408     count = data_size / 8;
   408     count = data_size / 8;
   413             EC_ERR("Exceeded maximum number of sync managers!\n");
   413             EC_ERR("Exceeded maximum number of sync managers!\n");
   414             return -EOVERFLOW;
   414             return -EOVERFLOW;
   415         }
   415         }
   416         memsize = sizeof(ec_sync_t) * total_count;
   416         memsize = sizeof(ec_sync_t) * total_count;
   417         if (!(syncs = kmalloc(memsize, GFP_KERNEL))) {
   417         if (!(syncs = kmalloc(memsize, GFP_KERNEL))) {
   418             EC_ERR("Failed to allocate %u bytes for sync managers.\n",
   418             EC_ERR("Failed to allocate %zu bytes for sync managers.\n",
   419                     memsize);
   419                     memsize);
   420             return -ENOMEM;
   420             return -ENOMEM;
   421         }
   421         }
   422 
   422 
   423         for (i = 0; i < slave->sii.sync_count; i++)
   423         for (i = 0; i < slave->sii.sync_count; i++)