“ae4a122dc7a6ddab5e0c6f844190c9e0915f5fa2”上不存在“...marvell/git@gitcode.net:openeuler/raspberrypi-kernel.git”
提交 2fadd831 编写于 作者: M Mike Marciniszyn 提交者: Roland Dreier

IB/qib: Fix txselect regression

Commit 7fac3301("IB/qib: checkpatch fixes") was overzealous in
removing a simple_strtoul for a parse routine, setup_txselect().  That
routine is required to handle a multi-value string.

Unwind that aspect of the fix.

Cc: <stable@vger.kernel.org>
Signed-off-by: NMike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: NRoland Dreier <roland@purestorage.com>
上级 78a58864
...@@ -6190,21 +6190,20 @@ static int setup_txselect(const char *str, struct kernel_param *kp) ...@@ -6190,21 +6190,20 @@ static int setup_txselect(const char *str, struct kernel_param *kp)
{ {
struct qib_devdata *dd; struct qib_devdata *dd;
unsigned long val; unsigned long val;
int ret; char *n;
if (strlen(str) >= MAX_ATTEN_LEN) { if (strlen(str) >= MAX_ATTEN_LEN) {
pr_info("txselect_values string too long\n"); pr_info("txselect_values string too long\n");
return -ENOSPC; return -ENOSPC;
} }
ret = kstrtoul(str, 0, &val); val = simple_strtoul(str, &n, 0);
if (ret || val >= (TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ + if (n == str || val >= (TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ +
TXDDS_MFG_SZ)) { TXDDS_MFG_SZ)) {
pr_info("txselect_values must start with a number < %d\n", pr_info("txselect_values must start with a number < %d\n",
TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ + TXDDS_MFG_SZ); TXDDS_TABLE_SZ + TXDDS_EXTRA_SZ + TXDDS_MFG_SZ);
return ret ? ret : -EINVAL; return -EINVAL;
} }
strcpy(txselect_list, str); strcpy(txselect_list, str);
list_for_each_entry(dd, &qib_dev_list, list) list_for_each_entry(dd, &qib_dev_list, list)
if (dd->deviceid == PCI_DEVICE_ID_QLOGIC_IB_7322) if (dd->deviceid == PCI_DEVICE_ID_QLOGIC_IB_7322)
set_no_qsfp_atten(dd, 1); set_no_qsfp_atten(dd, 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册