+6
-5
drivers/ptp/ptp_chardev.c
+6
-5
drivers/ptp/ptp_chardev.c
···
46
46
caps.n_ext_ts = ptp->info->n_ext_ts;
47
47
caps.n_per_out = ptp->info->n_per_out;
48
48
caps.pps = ptp->info->pps;
49
-
err = copy_to_user((void __user *)arg, &caps, sizeof(caps));
49
+
if (copy_to_user((void __user *)arg, &caps, sizeof(caps)))
50
+
err = -EFAULT;
50
51
break;
51
52
52
53
case PTP_EXTTS_REQUEST:
···
130
129
return -ERESTARTSYS;
131
130
}
132
131
133
-
if (ptp->defunct)
132
+
if (ptp->defunct) {
133
+
mutex_unlock(&ptp->tsevq_mux);
134
134
return -ENODEV;
135
+
}
135
136
136
137
spin_lock_irqsave(&queue->lock, flags);
137
138
···
153
150
154
151
mutex_unlock(&ptp->tsevq_mux);
155
152
156
-
if (copy_to_user(buf, event, cnt)) {
157
-
mutex_unlock(&ptp->tsevq_mux);
153
+
if (copy_to_user(buf, event, cnt))
158
154
return -EFAULT;
159
-
}
160
155
161
156
return cnt;
162
157
}