struct skb_shared_info *shinfo = skb_shinfo(skb);
        struct ocelot_port *ocelot_port = &priv->port;
        struct ocelot *ocelot = ocelot_port->ocelot;
+       u32 val, ifh[OCELOT_TAG_LEN / 4];
        struct frame_info info = {};
        u8 grp = 0; /* Send everything on CPU group 0 */
        unsigned int i, count, last;
        int port = priv->chip_port;
-       u32 val, ifh[IFH_LEN];
 
        val = ocelot_read(ocelot, QS_INJ_STATUS);
        if (!(val & QS_INJ_STATUS_FIFO_RDY(BIT(grp))) ||
 
        ocelot_gen_ifh(ifh, &info);
 
-       for (i = 0; i < IFH_LEN; i++)
+       for (i = 0; i < OCELOT_TAG_LEN / 4; i++)
                ocelot_write_rix(ocelot, (__force u32)cpu_to_be32(ifh[i]),
                                 QS_INJ_WR, grp);
 
 
 
 #define OCELOT_PTP_QUEUE_SZ    128
 
-#define IFH_LEN 4
-
 struct frame_info {
        u32 len;
        u16 port;
 #define IFH_REW_OP_TWO_STEP_PTP                0x3
 #define IFH_REW_OP_ORIGIN_PTP          0x5
 
+#define OCELOT_TAG_LEN                 16
+
 #define OCELOT_SPEED_2500 0
 #define OCELOT_SPEED_1000 1
 #define OCELOT_SPEED_100  2
 
                int sz, len, buf_len;
                struct sk_buff *skb;
 
-               for (i = 0; i < IFH_LEN; i++) {
+               for (i = 0; i < OCELOT_TAG_LEN / 4; i++) {
                        err = ocelot_rx_frame_word(ocelot, grp, true, &ifh[i]);
                        if (err != 4)
                                break;