Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'char-misc-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc driver fixes from Greg KH:
"Here are six small fixes for some reported char/misc driver issues:

- fix build warnings with new 'awk' with the raid6 code

- four interconnect driver bugfixes

- binder fix for reported problem

All of these except the binder fix have been in linux-next with no
reported issues. The binder fix is "new" but Todd says it is good as
he has tested it :)"

* tag 'char-misc-5.5-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
binder: fix incorrect calculation for num_valid
interconnect: qcom: msm8974: Walk the list safely on node removal
interconnect: qcom: qcs404: Walk the list safely on node removal
interconnect: qcom: sdm845: Walk the list safely on node removal
interconnect: qcom: Fix Kconfig indentation
lib: raid6: fix awk build warnings

+20 -20
+2 -2
drivers/android/binder.c
··· 3310 3310 binder_size_t parent_offset; 3311 3311 struct binder_fd_array_object *fda = 3312 3312 to_binder_fd_array_object(hdr); 3313 - size_t num_valid = (buffer_offset - off_start_offset) * 3313 + size_t num_valid = (buffer_offset - off_start_offset) / 3314 3314 sizeof(binder_size_t); 3315 3315 struct binder_buffer_object *parent = 3316 3316 binder_validate_ptr(target_proc, t->buffer, ··· 3384 3384 t->buffer->user_data + sg_buf_offset; 3385 3385 sg_buf_offset += ALIGN(bp->length, sizeof(u64)); 3386 3386 3387 - num_valid = (buffer_offset - off_start_offset) * 3387 + num_valid = (buffer_offset - off_start_offset) / 3388 3388 sizeof(binder_size_t); 3389 3389 ret = binder_fixup_parent(t, thread, bp, 3390 3390 off_start_offset,
+7 -7
drivers/interconnect/qcom/Kconfig
··· 6 6 Support for Qualcomm's Network-on-Chip interconnect hardware. 7 7 8 8 config INTERCONNECT_QCOM_MSM8974 9 - tristate "Qualcomm MSM8974 interconnect driver" 10 - depends on INTERCONNECT_QCOM 11 - depends on QCOM_SMD_RPM 12 - select INTERCONNECT_QCOM_SMD_RPM 13 - help 14 - This is a driver for the Qualcomm Network-on-Chip on msm8974-based 15 - platforms. 9 + tristate "Qualcomm MSM8974 interconnect driver" 10 + depends on INTERCONNECT_QCOM 11 + depends on QCOM_SMD_RPM 12 + select INTERCONNECT_QCOM_SMD_RPM 13 + help 14 + This is a driver for the Qualcomm Network-on-Chip on msm8974-based 15 + platforms. 16 16 17 17 config INTERCONNECT_QCOM_QCS404 18 18 tristate "Qualcomm QCS404 interconnect driver"
+4 -4
drivers/interconnect/qcom/msm8974.c
··· 652 652 struct device *dev = &pdev->dev; 653 653 struct icc_onecell_data *data; 654 654 struct icc_provider *provider; 655 - struct icc_node *node; 655 + struct icc_node *node, *tmp; 656 656 size_t num_nodes, i; 657 657 int ret; 658 658 ··· 732 732 return 0; 733 733 734 734 err_del_icc: 735 - list_for_each_entry(node, &provider->nodes, node_list) { 735 + list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) { 736 736 icc_node_del(node); 737 737 icc_node_destroy(node->id); 738 738 } ··· 748 748 { 749 749 struct msm8974_icc_provider *qp = platform_get_drvdata(pdev); 750 750 struct icc_provider *provider = &qp->provider; 751 - struct icc_node *n; 751 + struct icc_node *n, *tmp; 752 752 753 - list_for_each_entry(n, &provider->nodes, node_list) { 753 + list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) { 754 754 icc_node_del(n); 755 755 icc_node_destroy(n->id); 756 756 }
+4 -4
drivers/interconnect/qcom/qcs404.c
··· 414 414 struct icc_provider *provider; 415 415 struct qcom_icc_node **qnodes; 416 416 struct qcom_icc_provider *qp; 417 - struct icc_node *node; 417 + struct icc_node *node, *tmp; 418 418 size_t num_nodes, i; 419 419 int ret; 420 420 ··· 494 494 495 495 return 0; 496 496 err: 497 - list_for_each_entry(node, &provider->nodes, node_list) { 497 + list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) { 498 498 icc_node_del(node); 499 499 icc_node_destroy(node->id); 500 500 } ··· 508 508 { 509 509 struct qcom_icc_provider *qp = platform_get_drvdata(pdev); 510 510 struct icc_provider *provider = &qp->provider; 511 - struct icc_node *n; 511 + struct icc_node *n, *tmp; 512 512 513 - list_for_each_entry(n, &provider->nodes, node_list) { 513 + list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) { 514 514 icc_node_del(n); 515 515 icc_node_destroy(n->id); 516 516 }
+2 -2
drivers/interconnect/qcom/sdm845.c
··· 868 868 { 869 869 struct qcom_icc_provider *qp = platform_get_drvdata(pdev); 870 870 struct icc_provider *provider = &qp->provider; 871 - struct icc_node *n; 871 + struct icc_node *n, *tmp; 872 872 873 - list_for_each_entry(n, &provider->nodes, node_list) { 873 + list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) { 874 874 icc_node_del(n); 875 875 icc_node_destroy(n->id); 876 876 }
+1 -1
lib/raid6/unroll.awk
··· 13 13 for (i = 0; i < rep; ++i) { 14 14 tmp = $0 15 15 gsub(/\$\$/, i, tmp) 16 - gsub(/\$\#/, n, tmp) 16 + gsub(/\$#/, n, tmp) 17 17 gsub(/\$\*/, "$", tmp) 18 18 print tmp 19 19 }