nfp: add offset to all TLV parsing errors
authorJakub Kicinski <jakub.kicinski@netronome.com>
Wed, 28 Nov 2018 06:24:57 +0000 (22:24 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 30 Nov 2018 21:30:44 +0000 (13:30 -0800)
When troubleshooting incorrect FW capabilities it's useful to know
where the faulty TLV is located.  Add offset to all errors messages.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c

index d26ea32df8d9cf36983b4d7effe039c8e28acaaf..6d5213b5bcb0313725b99931a4cbe3121e5626b5 100644 (file)
@@ -41,8 +41,8 @@ int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,
                data += 4;
 
                if (length % NFP_NET_CFG_TLV_LENGTH_INC) {
-                       dev_err(dev, "TLV size not multiple of %u len:%u\n",
-                               NFP_NET_CFG_TLV_LENGTH_INC, length);
+                       dev_err(dev, "TLV size not multiple of %u offset:%u len:%u\n",
+                               NFP_NET_CFG_TLV_LENGTH_INC, offset, length);
                        return -EINVAL;
                }
                if (data + length > end) {
@@ -61,14 +61,14 @@ int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,
                        if (!length)
                                return 0;
 
-                       dev_err(dev, "END TLV should be empty, has len:%d\n",
-                               length);
+                       dev_err(dev, "END TLV should be empty, has offset:%u len:%d\n",
+                               offset, length);
                        return -EINVAL;
                case NFP_NET_CFG_TLV_TYPE_ME_FREQ:
                        if (length != 4) {
                                dev_err(dev,
-                                       "ME FREQ TLV should be 4B, is %dB\n",
-                                       length);
+                                       "ME FREQ TLV should be 4B, is %dB offset:%u\n",
+                                       length, offset);
                                return -EINVAL;
                        }
 
@@ -92,8 +92,8 @@ int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,
                        break;
                case NFP_NET_CFG_TLV_TYPE_REPR_CAP:
                        if (length < 4) {
-                               dev_err(dev, "REPR CAP TLV short %dB < 4B\n",
-                                       length);
+                               dev_err(dev, "REPR CAP TLV short %dB < 4B offset:%u\n",
+                                       length, offset);
                                return -EINVAL;
                        }