IB/ipath: Translate legacy diagpkt into newer extended diagpkt
authorDennis Dalessandro <dennis.dalessandro@intel.com>
Fri, 2 May 2014 15:40:17 +0000 (11:40 -0400)
committerRoland Dreier <roland@purestorage.com>
Tue, 27 May 2014 20:21:04 +0000 (13:21 -0700)
This patch addresses an issue where the legacy diagpacket is sent in
from the user, but the driver operates on only the extended
diagpkt. This patch specifically initializes the extended diagpkt
based on the legacy packet.

Cc: <stable@vger.kernel.org>
Reported-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/ipath/ipath_diag.c

index e2f9a51f4a38697aa6cccb261e7ee1c4ab346ad6..45802e97332ee830354e9bbbfe206031236629e6 100644 (file)
@@ -346,6 +346,10 @@ static ssize_t ipath_diagpkt_write(struct file *fp,
                        ret = -EFAULT;
                        goto bail;
                }
+               dp.len = odp.len;
+               dp.unit = odp.unit;
+               dp.data = odp.data;
+               dp.pbc_wd = 0;
        } else {
                ret = -EINVAL;
                goto bail;