diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 6b95c840677f..fd29c947a4cb 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -88,6 +88,7 @@ + @@ -1706,6 +1707,7 @@ + @@ -2757,6 +2759,7 @@ + @@ -2869,6 +2872,7 @@ + @@ -4698,7 +4702,7 @@ - + @@ -4712,6 +4716,7 @@ + @@ -11460,23 +11465,6 @@ - - - - - - - - - - - - - - - - - @@ -11891,17 +11879,6 @@ - - - - - - - - - - - @@ -14497,6 +14474,23 @@ + + + + + + + + + + + + + + + + + @@ -14595,6 +14589,17 @@ + + + + + + + + + + + @@ -14963,7 +14968,7 @@ - + @@ -23201,6 +23206,8 @@ + + @@ -23256,6 +23263,11 @@ + + + + + @@ -23695,26 +23707,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -30858,6 +30850,12 @@ + + + + + + @@ -37321,8 +37319,6 @@ - - @@ -37790,14 +37786,6 @@ - - - - - - - - @@ -37840,6 +37828,8 @@ + + @@ -45572,6 +45562,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -54755,6 +54771,17 @@ + + + + + + + + + + + @@ -67760,6 +67787,10 @@ + + + + @@ -68335,7 +68366,7 @@ - + @@ -88311,7 +88342,7 @@ - + @@ -88537,7 +88568,6 @@ - @@ -88557,7 +88587,7 @@ - + @@ -88736,27 +88766,27 @@ - - + + - + - + - + - + @@ -89461,6 +89491,14 @@ + + + + + + + + @@ -89923,23 +89961,6 @@ - - - - - - - - - - - - - - - - - @@ -90814,6 +90835,23 @@ + + + + + + + + + + + + + + + + + @@ -91541,7 +91579,7 @@ - + @@ -91687,64 +91725,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -93738,28 +93718,17 @@ - - - - - - + + + - - + + - - + + - - - - - - - - - + @@ -93847,6 +93816,14 @@ + + + + + + + + @@ -94512,7 +94489,7 @@ - + @@ -95373,7 +95350,7 @@ - + @@ -103691,6 +103668,23 @@ + + + + + + + + + + + + + + + + + @@ -103817,7 +103811,7 @@ - + @@ -107117,6 +107111,13 @@ + + + + + + + @@ -108267,34 +108268,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -108969,15 +108944,238 @@ + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109132,7 +109330,18 @@ + + + + + + + + + + + @@ -109321,6 +109530,13 @@ + + + + + + + @@ -109328,6 +109544,10 @@ + + + + @@ -109754,12 +109974,23 @@ + + + + + + + + + + + - + @@ -110052,7 +110283,7 @@ - + @@ -110234,6 +110465,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -112509,14 +112766,6 @@ - - - - - - - - @@ -112697,7 +112946,7 @@ - + @@ -112705,6 +112954,22 @@ + + + + + + + + + + + + + + + + @@ -113067,7 +113332,7 @@ - + @@ -113110,42 +113375,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -113238,7 +113467,6 @@ - @@ -113269,7 +113497,7 @@ - + @@ -113326,7 +113554,7 @@ - + @@ -117882,17 +118110,6 @@ - - - - - - - - - - - @@ -118065,7 +118282,7 @@ - + @@ -118104,7 +118321,7 @@ - + @@ -118186,7 +118403,7 @@ - + @@ -118201,7 +118418,7 @@ - + @@ -118213,7 +118430,7 @@ - + @@ -118222,7 +118439,7 @@ - + @@ -118304,268 +118521,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -118649,17 +118605,6 @@ - - - - - - - - - - - diff --git a/android/abi_gki_aarch64_exynosauto b/android/abi_gki_aarch64_exynosauto index c981b860389b..7dc2d76ffe84 100644 --- a/android/abi_gki_aarch64_exynosauto +++ b/android/abi_gki_aarch64_exynosauto @@ -6,6 +6,7 @@ alloc_workqueue __arch_copy_from_user __arch_copy_to_user + arch_setup_dma_ops arm64_const_caps_ready __arm_smccc_smc atomic_notifier_call_chain @@ -43,6 +44,7 @@ clk_unregister complete complete_all + complete_and_exit __const_udelay cpu_bit_bitmap cpu_hwcap_keys @@ -134,9 +136,8 @@ dma_request_slave_channel dma_set_coherent_mask dma_set_mask - down + down_interruptible down_read - down_trylock drm_add_edid_modes drm_atomic_helper_connector_destroy_state drm_atomic_helper_connector_duplicate_state @@ -162,6 +163,7 @@ eth_type_trans event_triggers_call fd_install + filp_open find_next_bit find_vma finish_wait @@ -211,6 +213,8 @@ iommu_register_device_fault_handler iommu_unregister_device_fault_handler ion_alloc + __ion_device_add_heap + ion_device_remove_heap ion_query_heaps_kernel __ioremap iounmap @@ -240,6 +244,7 @@ kmem_cache_free kmemdup kobject_create_and_add + kobject_init_and_add kobject_put krealloc kstrdup @@ -279,10 +284,10 @@ mod_delayed_work_on mod_timer module_layout + module_put __msecs_to_jiffies msleep __mutex_init - mutex_is_locked mutex_lock mutex_lock_interruptible mutex_unlock @@ -397,6 +402,10 @@ put_unused_fd queue_delayed_work_on queue_work_on + radix_tree_delete + radix_tree_insert + radix_tree_lookup + radix_tree_next_chunk ___ratelimit _raw_spin_lock _raw_spin_lock_irq @@ -467,6 +476,7 @@ snd_soc_of_get_dai_link_codecs snd_soc_of_get_dai_name snd_soc_of_parse_audio_routing + snd_soc_of_put_dai_link_codecs snd_soc_pm_ops snprintf sprintf @@ -557,7 +567,6 @@ vmalloc_to_page vmap vmemmap - vscnprintf vsnprintf vunmap vzalloc @@ -730,7 +739,6 @@ console_trylock console_unlock device_rename - drm_atomic_helper_async_check drm_atomic_helper_check drm_atomic_helper_cleanup_planes drm_atomic_helper_commit @@ -872,9 +880,9 @@ drm_vblank_init mipi_dsi_host_register mipi_dsi_host_unregister + mutex_is_locked of_drm_find_bridge of_drm_find_panel - of_get_next_available_child of_graph_get_endpoint_by_regs of_graph_get_endpoint_count of_graph_get_next_endpoint @@ -882,10 +890,9 @@ of_graph_get_remote_port of_graph_get_remote_port_parent of_graph_parse_endpoint - of_io_request_and_map - of_platform_device_create - of_platform_device_destroy - of_property_match_string + of_phandle_iterator_init + of_phandle_iterator_next + platform_find_device_by_driver strlcat videomode_from_timings @@ -947,6 +954,9 @@ snd_soc_dai_set_tdm_slot snd_soc_dai_set_tristate +# required by fmp-core.ko + bcmp + # required by g2d.ko __arch_copy_in_user compat_alloc_user_space @@ -976,7 +986,6 @@ # required by ion_exynos_mod.ko adjust_managed_page_count - arch_setup_dma_ops cma_alloc cma_get_name cma_release @@ -988,8 +997,6 @@ gen_pool_free_owner ion_buffer_prep_noncached ion_buffer_zero - __ion_device_add_heap - ion_device_remove_heap ion_free ion_heap_map_kernel ion_heap_map_user @@ -1013,7 +1020,9 @@ dev_pm_opp_put_regulators dev_pm_opp_set_regulators dma_fence_get_status + down downgrade_write + down_trylock down_write dump_stack __get_task_comm @@ -1027,7 +1036,6 @@ kfree_call_rcu ktime_get_raw __mmdrop - module_put of_machine_is_compatible param_ops_byte rb_erase @@ -1130,6 +1138,7 @@ irq_domain_get_irq_data irq_domain_set_info irq_domain_update_bus_token + pcie_get_mps pcie_set_mps pci_find_bus pci_get_device @@ -1219,21 +1228,14 @@ v4l2_i2c_subdev_init # required by sam-is.ko - down_interruptible - filp_close - filp_open - get_random_u32 get_task_pid i2c_new_device jiffies_to_msecs kobject_del kstrtou16 kthread_flush_work - kthread_flush_worker ktime_get_ts64 ktime_get_with_offset - map_vm_area - mutex_trylock ns_to_timespec param_ops_string phy_configure @@ -1243,7 +1245,6 @@ regulator_is_enabled regulator_set_voltage sched_setscheduler_nocheck - unmap_kernel_range v4l2_device_register_subdev v4l2_device_set_name v4l2_device_unregister_subdev @@ -1335,7 +1336,6 @@ iommu_group_get iommu_group_get_for_dev iommu_group_get_iommudata - iommu_group_put iommu_group_remove_device iommu_group_set_iommudata iommu_put_dma_cookie @@ -1367,7 +1367,6 @@ __devm_regmap_init __devm_regmap_init_mmio_clk dma_mmap_attrs - iommu_attach_device __platform_register_drivers platform_unregister_drivers pm_runtime_no_callbacks @@ -1380,7 +1379,6 @@ snd_pcm_lib_preallocate_pages snd_pcm_period_elapsed snd_pcm_release_substream - snd_soc_component_exit_regmap snd_soc_component_init_regmap snd_soc_component_read snd_soc_dapm_add_routes @@ -1389,7 +1387,6 @@ snd_soc_dapm_new_controls snd_soc_dapm_put_enum_double snd_soc_info_enum_double - snd_soc_register_component snd_soc_set_runtime_hwparams snd_soc_unregister_component @@ -1417,6 +1414,8 @@ stream_open # required by ufs-exynos-core.ko + bio_crypt_should_process + keyslot_manager_create_passthrough ufshcd_config_pwr_mode ufshcd_dme_get_attr ufshcd_dme_set_attr @@ -1441,6 +1440,10 @@ vb2_expbuf vb2_request_object_is_buffer +# required by vbufq-be-module.ko + drain_workqueue + filp_close + # required by vdriver-lib-module.ko kobject_get kset_create_and_add @@ -1462,7 +1465,7 @@ vm_unmap_ram # required by vlx-clk-ctrl-common-module.ko - kobject_init_and_add + vscnprintf # required by vlx-hyp-module.ko ioremap_cache @@ -1475,6 +1478,25 @@ # required by vlx-last-kmsg-module.ko proc_set_size +# required by vlx-prop-module.ko + kobject_uevent + kset_unregister + sysfs_create_bin_file + sysfs_remove_bin_file + +# required by vlx-vion-module.ko + dma_buf_fd + idr_alloc_cyclic + idr_find + idr_remove + __module_get + platform_device_register_full + __platform_driver_probe + radix_tree_iter_delete + refcount_dec_and_mutex_lock + uuid_gen + __vmalloc + # required by vlx-vmq-module.ko default_wake_function remove_wait_queue @@ -1488,9 +1510,6 @@ pci_alloc_irq_vectors_affinity pci_free_irq_vectors pci_irq_vector - radix_tree_delete - radix_tree_insert - radix_tree_lookup radix_tree_maybe_preload schedule_timeout_uninterruptible sg_pcopy_from_buffer @@ -1539,3 +1558,20 @@ pci_bus_type __usb_create_hcd usb_hcd_platform_shutdown + +# preserved by --additions-only + drm_atomic_helper_async_check + get_random_u32 + iommu_attach_device + iommu_group_put + kthread_flush_worker + map_vm_area + mutex_trylock + of_get_next_available_child + of_io_request_and_map + of_platform_device_create + of_platform_device_destroy + of_property_match_string + snd_soc_component_exit_regmap + snd_soc_register_component + unmap_kernel_range diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index a09d7f31e4f1..b4744eb24073 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -1041,6 +1041,7 @@ __hwspin_unlock hypervisor_kobj i2c_add_adapter + i2c_add_numbered_adapter i2c_del_adapter i2c_del_driver i2c_get_dma_safe_msg_buf diff --git a/android/abi_gki_aarch64_unisoc b/android/abi_gki_aarch64_unisoc index 5b300379d79e..4266cbe0bcea 100644 --- a/android/abi_gki_aarch64_unisoc +++ b/android/abi_gki_aarch64_unisoc @@ -64,6 +64,7 @@ complete complete_all config_ep_by_speed + config_group_init_type_name console_lock console_unlock __const_udelay @@ -186,6 +187,7 @@ dst_release dump_stack __dynamic_dev_dbg + __dynamic_netdev_dbg __dynamic_pr_debug enable_irq ether_setup @@ -225,6 +227,7 @@ gpiochip_line_is_irq gpiod_direction_input gpiod_direction_output_raw + gpiod_get gpiod_get_raw_value gpiod_set_raw_value gpiod_set_raw_value_cansleep @@ -2026,6 +2029,7 @@ sg_nents_for_len # required by wcn_bsp.ko + gpiod_set_value memdup_user pci_disable_device pci_disable_msi diff --git a/drivers/usb/gadget/function/f_accessory.c b/drivers/usb/gadget/function/f_accessory.c index 7aa2656a2328..3e0b8b5d7d14 100644 --- a/drivers/usb/gadget/function/f_accessory.c +++ b/drivers/usb/gadget/function/f_accessory.c @@ -568,6 +568,7 @@ static ssize_t acc_read(struct file *fp, char __user *buf, struct acc_dev *dev = fp->private_data; struct usb_request *req; ssize_t r = count; + ssize_t data_length; unsigned xfer; int ret = 0; @@ -589,6 +590,15 @@ static ssize_t acc_read(struct file *fp, char __user *buf, goto done; } + /* + * Calculate the data length by considering termination character. + * Then compansite the difference of rounding up to + * integer multiple of maxpacket size. + */ + data_length = count; + data_length += dev->ep_out->maxpacket - 1; + data_length -= data_length % dev->ep_out->maxpacket; + if (dev->rx_done) { // last req cancelled. try to get it. req = dev->rx_req[0]; @@ -598,7 +608,7 @@ static ssize_t acc_read(struct file *fp, char __user *buf, requeue_req: /* queue a request */ req = dev->rx_req[0]; - req->length = count; + req->length = data_length; dev->rx_done = 0; ret = usb_ep_queue(dev->ep_out, req, GFP_KERNEL); if (ret < 0) {