master/cdev.c
changeset 1606 6c5849669900
parent 1600 e36c92cf58a9
parent 1586 eb9185dfa8ac
child 1804 742607c464c4
equal deleted inserted replaced
1605:1a588303083a 1606:6c5849669900
   585         return -EINVAL;
   585         return -EINVAL;
   586     }
   586     }
   587 
   587 
   588     if (domain->data_size != data.data_size) {
   588     if (domain->data_size != data.data_size) {
   589         up(&master->master_sem);
   589         up(&master->master_sem);
   590         EC_ERR("Data size mismatch %u/%u!\n",
   590         EC_ERR("Data size mismatch %u/%zu!\n",
   591                 data.data_size, domain->data_size);
   591                 data.data_size, domain->data_size);
   592         return -EFAULT;
   592         return -EFAULT;
   593     }
   593     }
   594 
   594 
   595     if (copy_to_user((void __user *) data.target, domain->data,
   595     if (copy_to_user((void __user *) data.target, domain->data,
   980 
   980 
   981     if (!data.nwords
   981     if (!data.nwords
   982             || data.offset + data.nwords > slave->sii_nwords) {
   982             || data.offset + data.nwords > slave->sii_nwords) {
   983         up(&master->master_sem);
   983         up(&master->master_sem);
   984         EC_ERR("Invalid SII read offset/size %u/%u for slave "
   984         EC_ERR("Invalid SII read offset/size %u/%u for slave "
   985                 "SII size %u!\n", data.offset,
   985                 "SII size %zu!\n", data.offset,
   986                 data.nwords, slave->sii_nwords);
   986                 data.nwords, slave->sii_nwords);
   987         return -EINVAL;
   987         return -EINVAL;
   988     }
   988     }
   989 
   989 
   990     if (copy_to_user((void __user *) data.words,
   990     if (copy_to_user((void __user *) data.words,
  3086 
  3086 
  3087     data.result = request.req.result;
  3087     data.result = request.req.result;
  3088     data.error_code = request.req.error_code;
  3088     data.error_code = request.req.error_code;
  3089 
  3089 
  3090     if (master->debug_level) {
  3090     if (master->debug_level) {
  3091         EC_DBG("Read %d bytes via FoE (result = 0x%x).\n",
  3091         EC_DBG("Read %zd bytes via FoE (result = 0x%x).\n",
  3092                 request.req.data_size, request.req.result);
  3092                 request.req.data_size, request.req.result);
  3093     }
  3093     }
  3094 
  3094 
  3095     if (request.req.state != EC_INT_REQUEST_SUCCESS) {
  3095     if (request.req.state != EC_INT_REQUEST_SUCCESS) {
  3096         data.data_size = 0;
  3096         data.data_size = 0;