Char/Misc driver fixes for 5.5-rc2
Here are 6 small fixes for some reported char/misc driver issues: - fix build warnings with new 'awk' with the raid6 code - 4 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 :) Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXfT8YQ8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ykUPgCgl9i9JfcQiCkr1oCtKorVhJedtC8AnipcN2up Q8XJOOLH0pE+J/hTa9Ps =UfDH -----END PGP SIGNATURE----- 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
This commit is contained in:
Коммит
f61cf8decb
|
@ -3310,7 +3310,7 @@ static void binder_transaction(struct binder_proc *proc,
|
|||
binder_size_t parent_offset;
|
||||
struct binder_fd_array_object *fda =
|
||||
to_binder_fd_array_object(hdr);
|
||||
size_t num_valid = (buffer_offset - off_start_offset) *
|
||||
size_t num_valid = (buffer_offset - off_start_offset) /
|
||||
sizeof(binder_size_t);
|
||||
struct binder_buffer_object *parent =
|
||||
binder_validate_ptr(target_proc, t->buffer,
|
||||
|
@ -3384,7 +3384,7 @@ static void binder_transaction(struct binder_proc *proc,
|
|||
t->buffer->user_data + sg_buf_offset;
|
||||
sg_buf_offset += ALIGN(bp->length, sizeof(u64));
|
||||
|
||||
num_valid = (buffer_offset - off_start_offset) *
|
||||
num_valid = (buffer_offset - off_start_offset) /
|
||||
sizeof(binder_size_t);
|
||||
ret = binder_fixup_parent(t, thread, bp,
|
||||
off_start_offset,
|
||||
|
|
|
@ -6,13 +6,13 @@ config INTERCONNECT_QCOM
|
|||
Support for Qualcomm's Network-on-Chip interconnect hardware.
|
||||
|
||||
config INTERCONNECT_QCOM_MSM8974
|
||||
tristate "Qualcomm MSM8974 interconnect driver"
|
||||
depends on INTERCONNECT_QCOM
|
||||
depends on QCOM_SMD_RPM
|
||||
select INTERCONNECT_QCOM_SMD_RPM
|
||||
help
|
||||
This is a driver for the Qualcomm Network-on-Chip on msm8974-based
|
||||
platforms.
|
||||
tristate "Qualcomm MSM8974 interconnect driver"
|
||||
depends on INTERCONNECT_QCOM
|
||||
depends on QCOM_SMD_RPM
|
||||
select INTERCONNECT_QCOM_SMD_RPM
|
||||
help
|
||||
This is a driver for the Qualcomm Network-on-Chip on msm8974-based
|
||||
platforms.
|
||||
|
||||
config INTERCONNECT_QCOM_QCS404
|
||||
tristate "Qualcomm QCS404 interconnect driver"
|
||||
|
|
|
@ -652,7 +652,7 @@ static int msm8974_icc_probe(struct platform_device *pdev)
|
|||
struct device *dev = &pdev->dev;
|
||||
struct icc_onecell_data *data;
|
||||
struct icc_provider *provider;
|
||||
struct icc_node *node;
|
||||
struct icc_node *node, *tmp;
|
||||
size_t num_nodes, i;
|
||||
int ret;
|
||||
|
||||
|
@ -732,7 +732,7 @@ static int msm8974_icc_probe(struct platform_device *pdev)
|
|||
return 0;
|
||||
|
||||
err_del_icc:
|
||||
list_for_each_entry(node, &provider->nodes, node_list) {
|
||||
list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) {
|
||||
icc_node_del(node);
|
||||
icc_node_destroy(node->id);
|
||||
}
|
||||
|
@ -748,9 +748,9 @@ static int msm8974_icc_remove(struct platform_device *pdev)
|
|||
{
|
||||
struct msm8974_icc_provider *qp = platform_get_drvdata(pdev);
|
||||
struct icc_provider *provider = &qp->provider;
|
||||
struct icc_node *n;
|
||||
struct icc_node *n, *tmp;
|
||||
|
||||
list_for_each_entry(n, &provider->nodes, node_list) {
|
||||
list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) {
|
||||
icc_node_del(n);
|
||||
icc_node_destroy(n->id);
|
||||
}
|
||||
|
|
|
@ -414,7 +414,7 @@ static int qnoc_probe(struct platform_device *pdev)
|
|||
struct icc_provider *provider;
|
||||
struct qcom_icc_node **qnodes;
|
||||
struct qcom_icc_provider *qp;
|
||||
struct icc_node *node;
|
||||
struct icc_node *node, *tmp;
|
||||
size_t num_nodes, i;
|
||||
int ret;
|
||||
|
||||
|
@ -494,7 +494,7 @@ static int qnoc_probe(struct platform_device *pdev)
|
|||
|
||||
return 0;
|
||||
err:
|
||||
list_for_each_entry(node, &provider->nodes, node_list) {
|
||||
list_for_each_entry_safe(node, tmp, &provider->nodes, node_list) {
|
||||
icc_node_del(node);
|
||||
icc_node_destroy(node->id);
|
||||
}
|
||||
|
@ -508,9 +508,9 @@ static int qnoc_remove(struct platform_device *pdev)
|
|||
{
|
||||
struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
|
||||
struct icc_provider *provider = &qp->provider;
|
||||
struct icc_node *n;
|
||||
struct icc_node *n, *tmp;
|
||||
|
||||
list_for_each_entry(n, &provider->nodes, node_list) {
|
||||
list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) {
|
||||
icc_node_del(n);
|
||||
icc_node_destroy(n->id);
|
||||
}
|
||||
|
|
|
@ -868,9 +868,9 @@ static int qnoc_remove(struct platform_device *pdev)
|
|||
{
|
||||
struct qcom_icc_provider *qp = platform_get_drvdata(pdev);
|
||||
struct icc_provider *provider = &qp->provider;
|
||||
struct icc_node *n;
|
||||
struct icc_node *n, *tmp;
|
||||
|
||||
list_for_each_entry(n, &provider->nodes, node_list) {
|
||||
list_for_each_entry_safe(n, tmp, &provider->nodes, node_list) {
|
||||
icc_node_del(n);
|
||||
icc_node_destroy(n->id);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ BEGIN {
|
|||
for (i = 0; i < rep; ++i) {
|
||||
tmp = $0
|
||||
gsub(/\$\$/, i, tmp)
|
||||
gsub(/\$\#/, n, tmp)
|
||||
gsub(/\$#/, n, tmp)
|
||||
gsub(/\$\*/, "$", tmp)
|
||||
print tmp
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче