hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/net/ethernet/renesas/ravb_ptp.c
....@@ -182,6 +182,13 @@
182182 struct net_device *ndev = priv->ndev;
183183 unsigned long flags;
184184
185
+ /* Reject requests with unsupported flags */
186
+ if (req->flags & ~(PTP_ENABLE_FEATURE |
187
+ PTP_RISING_EDGE |
188
+ PTP_FALLING_EDGE |
189
+ PTP_STRICT_FLAGS))
190
+ return -EOPNOTSUPP;
191
+
185192 if (req->index)
186193 return -EINVAL;
187194
....@@ -196,7 +203,6 @@
196203 ravb_write(ndev, GIE_PTCS, GIE);
197204 else
198205 ravb_write(ndev, GID_PTCD, GID);
199
- mmiowb();
200206 spin_unlock_irqrestore(&priv->lock, flags);
201207
202208 return 0;
....@@ -211,6 +217,10 @@
211217 struct ravb_ptp_perout *perout;
212218 unsigned long flags;
213219 int error = 0;
220
+
221
+ /* Reject requests with unsupported flags */
222
+ if (req->flags)
223
+ return -EOPNOTSUPP;
214224
215225 if (req->index)
216226 return -EINVAL;
....@@ -259,7 +269,6 @@
259269 else
260270 ravb_write(ndev, GID_PTMD0, GID);
261271 }
262
- mmiowb();
263272 spin_unlock_irqrestore(&priv->lock, flags);
264273
265274 return error;
....@@ -331,7 +340,6 @@
331340 spin_lock_irqsave(&priv->lock, flags);
332341 ravb_wait(ndev, GCCR, GCCR_TCR, GCCR_TCR_NOREQ);
333342 ravb_modify(ndev, GCCR, GCCR_TCSS, GCCR_TCSS_ADJGPTP);
334
- mmiowb();
335343 spin_unlock_irqrestore(&priv->lock, flags);
336344
337345 priv->ptp.clock = ptp_clock_register(&priv->ptp.info, &pdev->dev);