Message ID | f4ae658c-0e2a-c264-e0b6-f1ed639237eb@dev.mellanox.co.il (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
> -----Original Message----- > From: linux-rdma-owner@vger.kernel.org [mailto:linux-rdma- > owner@vger.kernel.org] On Behalf Of Hal Rosenstock > Sent: Tuesday, October 31, 2017 7:15 AM > To: linux-rdma@vger.kernel.org > Cc: Ghazale Hosseinabadi <ghazale.hosseinabadi@oracle.com> > Subject: [PATCH rdma-core] libibumad/umad.c: In get_port, ignore sysfs rate file > errors > > > This can cause ibpanic in ibstat when width is not set properly as can occur when > QSPF is not plugged into port. > > ibpanic: [7851] main: stat of IB device 'mlx5_1' failed: Invalid argument > > It's caused by kernel sysfs.c:show_rate returning -EINVAL and that error being > treated as failure in umad.c:get_port. > With this change, Rate is displayed as 0 with ibstat for this scenario. > > Signed-off-by: Hal Rosenstock <hal@mellanox.com> > --- > libibumad/umad.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/libibumad/umad.c b/libibumad/umad.c index 535256e..dcb2c68 > 100644 > --- a/libibumad/umad.c > +++ b/libibumad/umad.c > @@ -150,8 +150,7 @@ static int get_port(const char *ca_name, const char > *dir, int portnum, umad_port > goto clean; > if (sys_read_uint(port_dir, SYS_PORT_PHY_STATE, &port->phys_state) < > 0) > goto clean; > - if (sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate) < 0) > - goto clean; > + sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate); > if (sys_read_uint(port_dir, SYS_PORT_CAPMASK, &capmask) < 0) > goto clean; > Looks good to me.
On Tue, Oct 31, 2017 at 08:14:58AM -0400, Hal Rosenstock wrote: > > This can cause ibpanic in ibstat when width is not set properly > as can occur when QSPF is not plugged into port. > > ibpanic: [7851] main: stat of IB device 'mlx5_1' failed: Invalid argument > > It's caused by kernel sysfs.c:show_rate returning -EINVAL > and that error being treated as failure in umad.c:get_port. > With this change, Rate is displayed as 0 with ibstat for this scenario. > > Signed-off-by: Hal Rosenstock <hal@mellanox.com> > --- > libibumad/umad.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > Thanks, applied.
On 10/31/2017 05:14 AM, Hal Rosenstock wrote: > This can cause ibpanic in ibstat when width is not set properly > as can occur when QSPF is not plugged into port. > > ibpanic: [7851] main: stat of IB device 'mlx5_1' failed: Invalid argument > > It's caused by kernel sysfs.c:show_rate returning -EINVAL > and that error being treated as failure in umad.c:get_port. > With this change, Rate is displayed as 0 with ibstat for this scenario. > > Signed-off-by: Hal Rosenstock <hal@mellanox.com> Tested by: Ghazale Hosseinabadi <ghazale.hosseinabadi@oracle.com> > --- > libibumad/umad.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/libibumad/umad.c b/libibumad/umad.c > index 535256e..dcb2c68 100644 > --- a/libibumad/umad.c > +++ b/libibumad/umad.c > @@ -150,8 +150,7 @@ static int get_port(const char *ca_name, const char *dir, int portnum, umad_port > goto clean; > if (sys_read_uint(port_dir, SYS_PORT_PHY_STATE, &port->phys_state) < 0) > goto clean; > - if (sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate) < 0) > - goto clean; > + sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate); > if (sys_read_uint(port_dir, SYS_PORT_CAPMASK, &capmask) < 0) > goto clean; > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/libibumad/umad.c b/libibumad/umad.c index 535256e..dcb2c68 100644 --- a/libibumad/umad.c +++ b/libibumad/umad.c @@ -150,8 +150,7 @@ static int get_port(const char *ca_name, const char *dir, int portnum, umad_port goto clean; if (sys_read_uint(port_dir, SYS_PORT_PHY_STATE, &port->phys_state) < 0) goto clean; - if (sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate) < 0) - goto clean; + sys_read_uint(port_dir, SYS_PORT_RATE, &port->rate); if (sys_read_uint(port_dir, SYS_PORT_CAPMASK, &capmask) < 0) goto clean;
This can cause ibpanic in ibstat when width is not set properly as can occur when QSPF is not plugged into port. ibpanic: [7851] main: stat of IB device 'mlx5_1' failed: Invalid argument It's caused by kernel sysfs.c:show_rate returning -EINVAL and that error being treated as failure in umad.c:get_port. With this change, Rate is displayed as 0 with ibstat for this scenario. Signed-off-by: Hal Rosenstock <hal@mellanox.com> --- libibumad/umad.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)