From: Yuval Shaia Date: Sun, 30 Apr 2017 04:13:50 +0000 (-0400) Subject: IB/ipoib: Expose acl_enable sysfs file as read only X-Git-Tag: v4.1.12-102.0.20170529_2200~55 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a8507527a54531270b4dac02df04d766f86a7aa7;p=users%2Fjedix%2Flinux-maple.git IB/ipoib: Expose acl_enable sysfs file as read only This file can be used to determine if ipoib supports IB-ACL. In debug mode all sysfs files are exposed in full mode. In non-debug mode only acl_enable is exposed but in real only mode. Orabug: 25993951 Signed-off-by: Yuval Shaia Reviewed-by: Mukesh Kacker --- diff --git a/drivers/infiniband/ulp/ipoib/ipoib_acl.c b/drivers/infiniband/ulp/ipoib/ipoib_acl.c index 087f0d2e137f..7b119583959f 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_acl.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_acl.c @@ -312,9 +312,16 @@ int ipoib_create_acl_sysfs(struct net_device *dev) { int rc = 0; + if (!ipoib_debug_level) + dev_attr_acl_enabled.attr.mode = 0444; + rc = device_create_file(&dev->dev, &dev_attr_acl_enabled); if (rc) return rc; + + if (!ipoib_debug_level) + return 0; + rc = device_create_file(&dev->dev, &dev_attr_add_acl); if (rc) return rc; diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c index efa72702038e..9d2f5b2f5fa9 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -1904,9 +1904,8 @@ static struct net_device *ipoib_add_port(const char *format, goto sysfs_failed; if (device_create_file(&priv->dev->dev, &dev_attr_delete_named_child)) goto sysfs_failed; - if (ipoib_debug_level) - if (ipoib_create_acl_sysfs(priv->dev)) - goto sysfs_failed; + if (ipoib_create_acl_sysfs(priv->dev)) + goto sysfs_failed; return priv->dev; diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c index b947ef9a8c4f..6017bff91676 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c @@ -101,9 +101,8 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, if (device_create_file(&priv->dev->dev, &dev_attr_parent)) goto sysfs_failed; - if (ipoib_debug_level) - if (ipoib_create_acl_sysfs(priv->dev)) - goto sysfs_failed; + if (ipoib_create_acl_sysfs(priv->dev)) + goto sysfs_failed; } priv->child_type = type;