From: Linus Torvalds Date: Fri, 16 Dec 2022 11:49:24 +0000 (-0800) Subject: Merge tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ba54ff1fb662215de683777f815b9e96276d55cf;p=linux.git Merge tag 'char-misc-6.2-rc1' of git://git./linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here is the large set of char/misc and other driver subsystem changes for 6.2-rc1. Nothing earth-shattering in here at all, just a lot of new driver development and minor fixes. Highlights include: - fastrpc driver updates - iio new drivers and updates - habanalabs driver updates for new hardware and features - slimbus driver updates - speakup module parameters added to aid in boot time configuration - i2c probe_new conversions for lots of different drivers - other small driver fixes and additions One semi-interesting change in here is the increase of the number of misc dynamic minors available to 1048448 to handle new huge-cpu systems. All of these have been in linux-next for a while with no reported problems" * tag 'char-misc-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (521 commits) extcon: usbc-tusb320: Convert to i2c's .probe_new() extcon: rt8973: Convert to i2c's .probe_new() extcon: fsa9480: Convert to i2c's .probe_new() extcon: max77843: Replace irqchip mask_invert with unmask_base chardev: fix error handling in cdev_device_add() mcb: mcb-parse: fix error handing in chameleon_parse_gdd() drivers: mcb: fix resource leak in mcb_probe() coresight: etm4x: fix repeated words in comments coresight: cti: Fix null pointer error on CTI init before ETM coresight: trbe: remove cpuhp instance node before remove cpuhp state counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update misc: fastrpc: Add dma_mask to fastrpc_channel_ctx misc: fastrpc: Add mmap request assigning for static PD pool misc: fastrpc: Safekeep mmaps on interrupted invoke misc: fastrpc: Add support for audiopd misc: fastrpc: Rework fastrpc_req_munmap misc: fastrpc: Use fastrpc_map_put in fastrpc_map_create on fail misc: fastrpc: Add fastrpc_remote_heap_alloc misc: fastrpc: Add reserved mem support misc: fastrpc: Rename audio protection domain to root ... --- ba54ff1fb662215de683777f815b9e96276d55cf diff --cc drivers/firmware/raspberrypi.c index ec07bf26e5eb6,dba315f675bc7..c3bc29e0a4880 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@@ -288,9 -268,13 +288,11 @@@ static int rpi_firmware_probe(struct pl fw->cl.tx_block = true; fw->chan = mbox_request_channel(&fw->cl, 0); - if (IS_ERR(fw->chan)) - return dev_err_probe(dev, PTR_ERR(fw->chan), - "Failed to get mbox channel\n"); + if (IS_ERR(fw->chan)) { + int ret = PTR_ERR(fw->chan); - if (ret != -EPROBE_DEFER) - dev_err(dev, "Failed to get mbox channel: %d\n", ret); + kfree(fw); - return ret; ++ return dev_err_probe(dev, ret, "Failed to get mbox channel\n"); + } init_completion(&fw->c); kref_init(&fw->consumers); diff --cc drivers/misc/mei/bus.c index 1fbe127ff6334,fdb5f73316958..4a08b624910a0 --- a/drivers/misc/mei/bus.c +++ b/drivers/misc/mei/bus.c @@@ -101,18 -120,9 +121,18 @@@ ssize_t __mei_cl_send_timeout(struct me cb->internal = !!(mode & MEI_CL_IO_TX_INTERNAL); cb->blocking = !!(mode & MEI_CL_IO_TX_BLOCKING); memcpy(cb->buf.data, buf, length); + /* hack we point data to header */ + if (mode & MEI_CL_IO_SGL) { + cb->ext_hdr = (struct mei_ext_hdr *)cb->buf.data; + cb->buf.data = NULL; + cb->buf.size = 0; + } - rets = mei_cl_write(cl, cb); + rets = mei_cl_write(cl, cb, timeout); + if (mode & MEI_CL_IO_SGL && rets == 0) + rets = length; + out: mutex_unlock(&bus->device_lock);