diff options
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/atmel-ssc.c | 6 | ||||
-rw-r--r-- | drivers/misc/genwqe/card_dev.c | 1 | ||||
-rw-r--r-- | drivers/misc/mei/client.c | 15 | ||||
-rw-r--r-- | drivers/misc/mic/host/mic_virtio.c | 3 | ||||
-rw-r--r-- | drivers/misc/sgi-gru/grukdump.c | 11 |
5 files changed, 26 insertions, 10 deletions
diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c index 5be808406edc..22de13727641 100644 --- a/drivers/misc/atmel-ssc.c +++ b/drivers/misc/atmel-ssc.c | |||
@@ -150,6 +150,12 @@ static int ssc_probe(struct platform_device *pdev) | |||
150 | return -ENODEV; | 150 | return -ENODEV; |
151 | ssc->pdata = (struct atmel_ssc_platform_data *)plat_dat; | 151 | ssc->pdata = (struct atmel_ssc_platform_data *)plat_dat; |
152 | 152 | ||
153 | if (pdev->dev.of_node) { | ||
154 | struct device_node *np = pdev->dev.of_node; | ||
155 | ssc->clk_from_rk_pin = | ||
156 | of_property_read_bool(np, "atmel,clk-from-rk-pin"); | ||
157 | } | ||
158 | |||
153 | regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 159 | regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
154 | ssc->regs = devm_ioremap_resource(&pdev->dev, regs); | 160 | ssc->regs = devm_ioremap_resource(&pdev->dev, regs); |
155 | if (IS_ERR(ssc->regs)) | 161 | if (IS_ERR(ssc->regs)) |
diff --git a/drivers/misc/genwqe/card_dev.c b/drivers/misc/genwqe/card_dev.c index 8f8a6b327cdb..2c2c9cc75231 100644 --- a/drivers/misc/genwqe/card_dev.c +++ b/drivers/misc/genwqe/card_dev.c | |||
@@ -787,6 +787,7 @@ static int genwqe_pin_mem(struct genwqe_file *cfile, struct genwqe_mem *m) | |||
787 | if (rc != 0) { | 787 | if (rc != 0) { |
788 | dev_err(&pci_dev->dev, | 788 | dev_err(&pci_dev->dev, |
789 | "[%s] genwqe_user_vmap rc=%d\n", __func__, rc); | 789 | "[%s] genwqe_user_vmap rc=%d\n", __func__, rc); |
790 | kfree(dma_map); | ||
790 | return rc; | 791 | return rc; |
791 | } | 792 | } |
792 | 793 | ||
diff --git a/drivers/misc/mei/client.c b/drivers/misc/mei/client.c index 1ee2b9492a82..89a557972d1b 100644 --- a/drivers/misc/mei/client.c +++ b/drivers/misc/mei/client.c | |||
@@ -666,7 +666,6 @@ int mei_cl_read_start(struct mei_cl *cl, size_t length) | |||
666 | goto err; | 666 | goto err; |
667 | 667 | ||
668 | cb->fop_type = MEI_FOP_READ; | 668 | cb->fop_type = MEI_FOP_READ; |
669 | cl->read_cb = cb; | ||
670 | if (dev->hbuf_is_ready) { | 669 | if (dev->hbuf_is_ready) { |
671 | dev->hbuf_is_ready = false; | 670 | dev->hbuf_is_ready = false; |
672 | if (mei_hbm_cl_flow_control_req(dev, cl)) { | 671 | if (mei_hbm_cl_flow_control_req(dev, cl)) { |
@@ -678,6 +677,9 @@ int mei_cl_read_start(struct mei_cl *cl, size_t length) | |||
678 | } else { | 677 | } else { |
679 | list_add_tail(&cb->list, &dev->ctrl_wr_list.list); | 678 | list_add_tail(&cb->list, &dev->ctrl_wr_list.list); |
680 | } | 679 | } |
680 | |||
681 | cl->read_cb = cb; | ||
682 | |||
681 | return rets; | 683 | return rets; |
682 | err: | 684 | err: |
683 | mei_io_cb_free(cb); | 685 | mei_io_cb_free(cb); |
@@ -908,7 +910,6 @@ void mei_cl_all_disconnect(struct mei_device *dev) | |||
908 | list_for_each_entry_safe(cl, next, &dev->file_list, link) { | 910 | list_for_each_entry_safe(cl, next, &dev->file_list, link) { |
909 | cl->state = MEI_FILE_DISCONNECTED; | 911 | cl->state = MEI_FILE_DISCONNECTED; |
910 | cl->mei_flow_ctrl_creds = 0; | 912 | cl->mei_flow_ctrl_creds = 0; |
911 | cl->read_cb = NULL; | ||
912 | cl->timer_count = 0; | 913 | cl->timer_count = 0; |
913 | } | 914 | } |
914 | } | 915 | } |
@@ -942,8 +943,16 @@ void mei_cl_all_wakeup(struct mei_device *dev) | |||
942 | void mei_cl_all_write_clear(struct mei_device *dev) | 943 | void mei_cl_all_write_clear(struct mei_device *dev) |
943 | { | 944 | { |
944 | struct mei_cl_cb *cb, *next; | 945 | struct mei_cl_cb *cb, *next; |
946 | struct list_head *list; | ||
947 | |||
948 | list = &dev->write_list.list; | ||
949 | list_for_each_entry_safe(cb, next, list, list) { | ||
950 | list_del(&cb->list); | ||
951 | mei_io_cb_free(cb); | ||
952 | } | ||
945 | 953 | ||
946 | list_for_each_entry_safe(cb, next, &dev->write_list.list, list) { | 954 | list = &dev->write_waiting_list.list; |
955 | list_for_each_entry_safe(cb, next, list, list) { | ||
947 | list_del(&cb->list); | 956 | list_del(&cb->list); |
948 | mei_io_cb_free(cb); | 957 | mei_io_cb_free(cb); |
949 | } | 958 | } |
diff --git a/drivers/misc/mic/host/mic_virtio.c b/drivers/misc/mic/host/mic_virtio.c index 752ff873f891..7e1ef0ebbb80 100644 --- a/drivers/misc/mic/host/mic_virtio.c +++ b/drivers/misc/mic/host/mic_virtio.c | |||
@@ -156,7 +156,8 @@ static int mic_vringh_copy(struct mic_vdev *mvdev, struct vringh_kiov *iov, | |||
156 | static int _mic_virtio_copy(struct mic_vdev *mvdev, | 156 | static int _mic_virtio_copy(struct mic_vdev *mvdev, |
157 | struct mic_copy_desc *copy) | 157 | struct mic_copy_desc *copy) |
158 | { | 158 | { |
159 | int ret = 0, iovcnt = copy->iovcnt; | 159 | int ret = 0; |
160 | u32 iovcnt = copy->iovcnt; | ||
160 | struct iovec iov; | 161 | struct iovec iov; |
161 | struct iovec __user *u_iov = copy->iov; | 162 | struct iovec __user *u_iov = copy->iov; |
162 | void __user *ubuf = NULL; | 163 | void __user *ubuf = NULL; |
diff --git a/drivers/misc/sgi-gru/grukdump.c b/drivers/misc/sgi-gru/grukdump.c index 9b2062d17327..2bef3f76032a 100644 --- a/drivers/misc/sgi-gru/grukdump.c +++ b/drivers/misc/sgi-gru/grukdump.c | |||
@@ -139,8 +139,11 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, | |||
139 | 139 | ||
140 | ubuf += sizeof(hdr); | 140 | ubuf += sizeof(hdr); |
141 | ubufcch = ubuf; | 141 | ubufcch = ubuf; |
142 | if (gru_user_copy_handle(&ubuf, cch)) | 142 | if (gru_user_copy_handle(&ubuf, cch)) { |
143 | goto fail; | 143 | if (cch_locked) |
144 | unlock_cch_handle(cch); | ||
145 | return -EFAULT; | ||
146 | } | ||
144 | if (cch_locked) | 147 | if (cch_locked) |
145 | ubufcch->delresp = 0; | 148 | ubufcch->delresp = 0; |
146 | bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES; | 149 | bytes = sizeof(hdr) + GRU_CACHE_LINE_BYTES; |
@@ -179,10 +182,6 @@ static int gru_dump_context(struct gru_state *gru, int ctxnum, | |||
179 | ret = -EFAULT; | 182 | ret = -EFAULT; |
180 | 183 | ||
181 | return ret ? ret : bytes; | 184 | return ret ? ret : bytes; |
182 | |||
183 | fail: | ||
184 | unlock_cch_handle(cch); | ||
185 | return -EFAULT; | ||
186 | } | 185 | } |
187 | 186 | ||
188 | int gru_dump_chiplet_request(unsigned long arg) | 187 | int gru_dump_chiplet_request(unsigned long arg) |