Re: Patch "scsi: ufs: refactor device descriptor reading" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oops, nope, I've dropped this one now, thanks.

greg k-h

On Mon, Apr 10, 2017 at 06:06:40PM +0200, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     scsi: ufs: refactor device descriptor reading
> 
> to the 4.9-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      scsi-ufs-refactor-device-descriptor-reading.patch
> and it can be found in the queue-4.9 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.
> 
> 
> >From foo@baz Mon Apr 10 17:43:56 CEST 2017
> From: alexander.levin@xxxxxxxxxxx
> Date: Tue, 4 Apr 2017 19:32:21 +0000
> Subject: scsi: ufs: refactor device descriptor reading
> To: "gregkh@xxxxxxxxxxxxxxxxxxx" <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: "stable@xxxxxxxxxxxxxxx" <stable@xxxxxxxxxxxxxxx>
> Message-ID: <20170404193158.19041-52-alexander.levin@xxxxxxxxxxx>
> 
> From: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> 
> [ Upstream commit 93fdd5ac64bbe80dac6416f048405362d7ef0945 ]
> 
> Pull device descriptor reading out of ufs quirk so it can be used also
> for other purposes.
> 
> Revamp the fixup setup:
> 
> 1. Rename ufs_device_info to ufs_dev_desc as very similar name
>    ufs_dev_info is already in use.
> 
> 2. Make the handlers static as they are not used out of the ufshdc.c
>    file.
> 
> [mkp: applied by hand]
> 
> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx>
> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/scsi/ufs/ufs.h        |   12 ++++++++++++
>  drivers/scsi/ufs/ufs_quirks.h |   28 ++++++----------------------
>  drivers/scsi/ufs/ufshcd.c     |   40 +++++++++++++++++++---------------------
>  3 files changed, 37 insertions(+), 43 deletions(-)
> 
> --- a/drivers/scsi/ufs/ufs.h
> +++ b/drivers/scsi/ufs/ufs.h
> @@ -522,4 +522,16 @@ struct ufs_dev_info {
>  	bool is_lu_power_on_wp;
>  };
>  
> +#define MAX_MODEL_LEN 16
> +/**
> + * ufs_dev_desc - ufs device details from the device descriptor
> + *
> + * @wmanufacturerid: card details
> + * @model: card model
> + */
> +struct ufs_dev_desc {
> +	u16 wmanufacturerid;
> +	char model[MAX_MODEL_LEN + 1];
> +};
> +
>  #endif /* End of Header */
> --- a/drivers/scsi/ufs/ufs_quirks.h
> +++ b/drivers/scsi/ufs/ufs_quirks.h
> @@ -21,41 +21,28 @@
>  #define UFS_ANY_VENDOR 0xFFFF
>  #define UFS_ANY_MODEL  "ANY_MODEL"
>  
> -#define MAX_MODEL_LEN 16
> -
>  #define UFS_VENDOR_TOSHIBA     0x198
>  #define UFS_VENDOR_SAMSUNG     0x1CE
>  #define UFS_VENDOR_SKHYNIX     0x1AD
>  
>  /**
> - * ufs_device_info - ufs device details
> - * @wmanufacturerid: card details
> - * @model: card model
> - */
> -struct ufs_device_info {
> -	u16 wmanufacturerid;
> -	char model[MAX_MODEL_LEN + 1];
> -};
> -
> -/**
>   * ufs_dev_fix - ufs device quirk info
>   * @card: ufs card details
>   * @quirk: device quirk
>   */
>  struct ufs_dev_fix {
> -	struct ufs_device_info card;
> +	struct ufs_dev_desc card;
>  	unsigned int quirk;
>  };
>  
>  #define END_FIX { { 0 }, 0 }
>  
>  /* add specific device quirk */
> -#define UFS_FIX(_vendor, _model, _quirk) \
> -		{					  \
> -			.card.wmanufacturerid = (_vendor),\
> -			.card.model = (_model),		  \
> -			.quirk = (_quirk),		  \
> -		}
> +#define UFS_FIX(_vendor, _model, _quirk) { \
> +	.card.wmanufacturerid = (_vendor),\
> +	.card.model = (_model),		   \
> +	.quirk = (_quirk),		   \
> +}
>  
>  /*
>   * If UFS device is having issue in processing LCC (Line Control
> @@ -144,7 +131,4 @@ struct ufs_dev_fix {
>   */
>  #define UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME	(1 << 8)
>  
> -struct ufs_hba;
> -void ufs_advertise_fixup_device(struct ufs_hba *hba);
> -
>  #endif /* UFS_QUIRKS_H_ */
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -4874,8 +4874,8 @@ out:
>  	return ret;
>  }
>  
> -static int ufs_get_device_info(struct ufs_hba *hba,
> -				struct ufs_device_info *card_data)
> +static int ufs_get_device_desc(struct ufs_hba *hba,
> +			       struct ufs_dev_desc *dev_desc)
>  {
>  	int err;
>  	u8 model_index;
> @@ -4894,7 +4894,7 @@ static int ufs_get_device_info(struct uf
>  	 * getting vendor (manufacturerID) and Bank Index in big endian
>  	 * format
>  	 */
> -	card_data->wmanufacturerid = desc_buf[DEVICE_DESC_PARAM_MANF_ID] << 8 |
> +	dev_desc->wmanufacturerid = desc_buf[DEVICE_DESC_PARAM_MANF_ID] << 8 |
>  				     desc_buf[DEVICE_DESC_PARAM_MANF_ID + 1];
>  
>  	model_index = desc_buf[DEVICE_DESC_PARAM_PRDCT_NAME];
> @@ -4908,36 +4908,26 @@ static int ufs_get_device_info(struct uf
>  	}
>  
>  	str_desc_buf[QUERY_DESC_STRING_MAX_SIZE] = '\0';
> -	strlcpy(card_data->model, (str_desc_buf + QUERY_DESC_HDR_SIZE),
> +	strlcpy(dev_desc->model, (str_desc_buf + QUERY_DESC_HDR_SIZE),
>  		min_t(u8, str_desc_buf[QUERY_DESC_LENGTH_OFFSET],
>  		      MAX_MODEL_LEN));
>  
>  	/* Null terminate the model string */
> -	card_data->model[MAX_MODEL_LEN] = '\0';
> +	dev_desc->model[MAX_MODEL_LEN] = '\0';
>  
>  out:
>  	return err;
>  }
>  
> -void ufs_advertise_fixup_device(struct ufs_hba *hba)
> +static void ufs_fixup_device_setup(struct ufs_hba *hba,
> +				   struct ufs_dev_desc *dev_desc)
>  {
> -	int err;
>  	struct ufs_dev_fix *f;
> -	struct ufs_device_info card_data;
> -
> -	card_data.wmanufacturerid = 0;
> -
> -	err = ufs_get_device_info(hba, &card_data);
> -	if (err) {
> -		dev_err(hba->dev, "%s: Failed getting device info. err = %d\n",
> -			__func__, err);
> -		return;
> -	}
>  
>  	for (f = ufs_fixups; f->quirk; f++) {
> -		if (((f->card.wmanufacturerid == card_data.wmanufacturerid) ||
> -		    (f->card.wmanufacturerid == UFS_ANY_VENDOR)) &&
> -		    (STR_PRFX_EQUAL(f->card.model, card_data.model) ||
> +		if ((f->card.wmanufacturerid == dev_desc->wmanufacturerid ||
> +		     f->card.wmanufacturerid == UFS_ANY_VENDOR) &&
> +		    (STR_PRFX_EQUAL(f->card.model, dev_desc->model) ||
>  		     !strcmp(f->card.model, UFS_ANY_MODEL)))
>  			hba->dev_quirks |= f->quirk;
>  	}
> @@ -5115,6 +5105,7 @@ static void ufshcd_tune_unipro_params(st
>   */
>  static int ufshcd_probe_hba(struct ufs_hba *hba)
>  {
> +	struct ufs_dev_desc card = {0};
>  	int ret;
>  
>  	ret = ufshcd_link_startup(hba);
> @@ -5138,7 +5129,14 @@ static int ufshcd_probe_hba(struct ufs_h
>  	if (ret)
>  		goto out;
>  
> -	ufs_advertise_fixup_device(hba);
> +	ret = ufs_get_device_desc(hba, &card);
> +	if (ret) {
> +		dev_err(hba->dev, "%s: Failed getting device info. err = %d\n",
> +			__func__, ret);
> +		goto out;
> +	}
> +
> +	ufs_fixup_device_setup(hba, &card);
>  	ufshcd_tune_unipro_params(hba);
>  
>  	ret = ufshcd_set_vccq_rail_unused(hba,
> 
> 
> Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are
> 
> queue-4.9/staging-android-ashmem-lseek-failed-due-to-no-fmode_lseek.patch
> queue-4.9/arm64-dts-hisi-fix-hip06-sas-am-max-trans-quirk.patch
> queue-4.9/scsi-ufs-introduce-ufshcd_quirk_prdt_byte_gran-quirk.patch
> queue-4.9/acpi-button-change-default-behavior-to-lid_init_state-open.patch
> queue-4.9/usb-musb-da8xx-fix-host-mode-suspend.patch
> queue-4.9/drm-i915-fix-intel_bdw_ids-definition.patch
> queue-4.9/sysfs-be-careful-of-error-returns-from-ops-show.patch
> queue-4.9/mips-flush-wrong-invalid-ftlb-entry-for-huge-page.patch
> queue-4.9/mips-end-spinlocks-with-.insn.patch
> queue-4.9/mmc-sdhci-of-esdhc-remove-default-broken-cd-for-arm.patch
> queue-4.9/kvm-arm-arm64-fix-locking-for-kvm_free_stage2_pgd.patch
> queue-4.9/powerpc-disable-hfscr-if-tm-is-not-supported.patch
> queue-4.9/metag-usercopy-add-missing-fixups.patch
> queue-4.9/nios2-reserve-boot-memory-for-device-tree.patch
> queue-4.9/alsa-usb-audio-add-implicit-fb-quirk-for-axe-fx-ii.patch
> queue-4.9/svcauth_gss-close-connection-when-dropping-an-incoming-message.patch
> queue-4.9/platform-x86-asus-wmi-detect-quirk_no_rfkill-from-the-dsdt.patch
> queue-4.9/ring-buffer-fix-return-value-check-in-test_ringbuffer.patch
> queue-4.9/ppdev-check-before-attaching-port.patch
> queue-4.9/firmware-qcom-scm-fix-interrupted-scm-calls.patch
> queue-4.9/pci-add-broadcom-northstar2-paxc-quirk-for-device-class-and-mpss.patch
> queue-4.9/powerpc-64-fix-flush_-d-i-cache_range-called-from-modules.patch
> queue-4.9/drm-sun4i-tcon-move-soc-specific-quirks-to-a-dt-matched-data-structure.patch
> queue-4.9/acpi-gpio-do-not-fall-back-to-parsing-_crs-when-we-get-a-deferral.patch
> queue-4.9/pci-explain-arm64-acpi-mcfg-quirk-kconfig-and-build-strategy.patch
> queue-4.9/metag-usercopy-add-early-abort-to-copy_to_user.patch
> queue-4.9/powerpc-crypto-crc32c-vpmsum-fix-missing-preempt_disable.patch
> queue-4.9/hid-multitouch-do-not-retrieve-all-reports-for-all-devices.patch
> queue-4.9/arm-arm64-kvm-take-mmap_sem-in-kvm_arch_prepare_memory_region.patch
> queue-4.9/arm-dts-stih407-family-set-snps-dis_u3_susphy_quirk.patch
> queue-4.9/rx51-broken-build.patch
> queue-4.9/mips-ralink-fix-typos-in-rt3883-pinctrl.patch
> queue-4.9/cfg80211-check-rdev-resume-callback-only-for-registered-wiphy.patch
> queue-4.9/metag-usercopy-set-flags-before-addz.patch
> queue-4.9/asoc-intel-bytct_rt5640-change-default-capture-settings.patch
> queue-4.9/metag-usercopy-fix-src-fixup-in-from-user-rapf-loops.patch
> queue-4.9/hid-asus-fix-keyboard-support.patch
> queue-4.9/drm-sun4i-add-compatible-string-for-a31-a31s-tcon-timing-controller.patch
> queue-4.9/arm64-pci-manage-controller-specific-data-on-per-controller-basis.patch
> queue-4.9/platform-x86-acer-wmi-only-supports-amw0_guid1-on-acer-family.patch
> queue-4.9/xtensa-make-__pa-work-with-uncached-kseg-addresses.patch
> queue-4.9/asoc-codecs-rt5670-add-quirk-for-lenovo-thinkpad-10.patch
> queue-4.9/clk-lpc32xx-add-a-quirk-for-pwm-and-ms-clock-dividers.patch
> queue-4.9/powerpc-mm-add-missing-global-tlb-invalidate-if-cxl-is-active.patch
> queue-4.9/tools-power-turbostat-dump-atom-p-states-correctly.patch
> queue-4.9/clocksource-drivers-arm_arch_timer-don-t-assume-clock-runs-in-suspend.patch
> queue-4.9/asoc-intel-cht_bsw_rt5645-add-baytrail-mclk-support.patch
> queue-4.9/watchdog-s3c2410-fix-infinite-interrupt-in-soft-mode.patch
> queue-4.9/arm64-pci-search-acpi-namespace-to-ensure-ecam-space-is-reserved.patch
> queue-4.9/pci-add-mcfg-quirks-for-cavium-thunderx-pass1.x-host-controller.patch
> queue-4.9/drm-i915-actually-drive-the-bdw-reserved-ids.patch
> queue-4.9/net-mlx4_core-use-device-id-defines.patch
> queue-4.9/scsi-ufs-introduce-a-new-ufshcd_statea-ufshcd_state_eh_scheduled.patch
> queue-4.9/hid-sensor-hub-add-quirk-for-microsoft-surface-3.patch
> queue-4.9/serial-8250_omap-add-omap_dma_tx_kick-quirk-for-am437x.patch
> queue-4.9/brcmfmac-use-local-iftype-avoiding-use-after-free-of-virtual-interface.patch
> queue-4.9/pci-acpi-check-for-platform-specific-mcfg-quirks.patch
> queue-4.9/drm-vmwgfx-remove-getparam-error-message.patch
> queue-4.9/mac80211-unconditionally-start-new-netdev-queues-with-itxq-support.patch
> queue-4.9/dm-verity-fec-fix-bufio-leaks.patch
> queue-4.9/x86-intel_idle-add-cpu-model-0x4a-atom-z34xx-series.patch
> queue-4.9/hid-wacom-don-t-apply-generic-settings-to-old-devices.patch
> queue-4.9/hid-sensor-hub-add-quirk-for-microchip-mm7150.patch
> queue-4.9/arm-kernel-add-smc-structure-parameter.patch
> queue-4.9/usb-storage-add-ignore-residue-quirk-for-initio-inic-3619.patch
> queue-4.9/drm-vmwgfx-type-check-lookups-of-fence-objects.patch
> queue-4.9/hid-asus-add-i2c-touchpad-support.patch
> queue-4.9/nvme-simplify-stripe-quirk.patch
> queue-4.9/drm-sun4i-add-compatible-strings-for-a31-a31s-display-pipelines.patch
> queue-4.9/dm-verity-fec-limit-error-correction-recursion.patch
> queue-4.9/drm-edid-constify-edid-quirk-list.patch
> queue-4.9/s390-uaccess-get_user-should-zero-on-failure-again.patch
> queue-4.9/dm-raid-fix-null-pointer-dereference-for-raid1-without-bitmap.patch
> queue-4.9/random-use-chacha20-for-get_random_int-long.patch
> queue-4.9/ptrace-fix-ptrace_listen-race-corrupting-task-state.patch
> queue-4.9/drm-vmwgfx-fix-integer-overflow-in-vmw_surface_define_ioctl.patch
> queue-4.9/pci-sort-the-list-of-devices-with-d3-delay-quirk-by-id.patch
> queue-4.9/pci-add-mcfg-quirks-for-x-gene-host-controller.patch
> queue-4.9/hid-i2c-hid-add-a-simple-quirk-to-fix-device-defects.patch
> queue-4.9/drm-msm-adreno-move-function-declarations-to-header-file.patch
> queue-4.9/s390-decompressor-fix-initrd-corruption-caused-by-bss-clear.patch
> queue-4.9/pci-disable-msi-for-hisilicon-hip06-hip07-root-ports.patch
> queue-4.9/mips-check-tlb-before-handle_ri_rdhwr-for-loongson-3.patch
> queue-4.9/pci-add-acs-quirk-for-intel-union-point.patch
> queue-4.9/asoc-intel-baytrail-add-quirk-for-lenovo-thinkpad-10.patch
> queue-4.9/can-flexcan-add-quirk-flexcan_quirk_enable_eacen_rrs.patch
> queue-4.9/metag-usercopy-drop-unused-macros.patch
> queue-4.9/pci-expand-vpd-access-disabled-quirk-message.patch
> queue-4.9/drm-i915-more-.is_mobile-cleanups-for-bdw.patch
> queue-4.9/hid-multitouch-enable-the-surface-4-type-cover-pro-jp-to-report-multitouch-data.patch
> queue-4.9/iio-bmg160-reset-chip-when-probing.patch
> queue-4.9/orangefs-move-features-validation-to-fix-filesystem-hang.patch
> queue-4.9/arm64-mm-unaligned-access-by-user-land-should-be-received-as-sigbus.patch
> queue-4.9/powerpc-don-t-try-to-fix-up-misaligned-load-with-reservation-instructions.patch
> queue-4.9/usb-chipidea-msm-rely-on-core-to-override-ahbburst.patch
> queue-4.9/scsi-ufs-refactor-device-descriptor-reading.patch
> queue-4.9/asoc-intel-bytcr_rt5640-quirks-for-insyde-devices.patch
> queue-4.9/mips-lantiq-fix-missing-xbar-kernel-panic.patch
> queue-4.9/metag-usercopy-zero-rest-of-buffer-from-copy_from_user.patch
> queue-4.9/xfs-honor-falloc_fl_keep_size-when-punching-ends-of-files.patch
> queue-4.9/hid-multitouch-enable-the-surface-3-type-cover-to-report-multitouch-data.patch
> queue-4.9/scsi-ufs-issue-link-starup-2-times-if-device-isn-t-active.patch
> queue-4.9/asoc-rt5670-add-missing-10ec5072-acpi-id.patch
> queue-4.9/metag-usercopy-fix-alignment-error-checking.patch
> queue-4.9/x86-reboot-quirks-add-asus-eeebook-x205ta-reboot-quirk.patch
> queue-4.9/input-gpio_keys-add-support-for-gpio-descriptors.patch
> queue-4.9/pci-xgene-fix-double-free-on-init-error.patch
> queue-4.9/acpi-save-nvs-memory-for-lenovo-g50-45.patch
> queue-4.9/asoc-intel-cht_bsw_rt5645-harden-acpi-device-detection.patch
> queue-4.9/sata-ahci-da850-implement-a-workaround-for-the-softreset-quirk.patch
> queue-4.9/reset-treeid-to-zero-on-smb2-tree_connect.patch
> queue-4.9/pci-add-acs-quirk-for-qualcomm-qdf2400-and-qdf2432.patch
> queue-4.9/tools-power-turbostat-decode-baytrail-cc6-and-mc6-demotion-configuration.patch
> queue-4.9/arm-davinci-pm-support-da8xx-dt-platforms.patch
> queue-4.9/documentation-stable-kernel-rules-fix-stable-tag-format.patch
> queue-4.9/drm-mga-remove-device_is_agp-callback.patch
> queue-4.9/usb-host-xhci-plat-enable-broken_ped-quirk-if-platform-requested.patch
> queue-4.9/mm-mempolicy.c-fix-error-handling-in-set_mempolicy-and-mbind.patch
> queue-4.9/pci-add-mcfg-quirks-for-qualcomm-qdf2432-host-controller.patch
> queue-4.9/amd-xgbe-prepare-for-working-with-more-than-one-type-of-phy.patch
> queue-4.9/arm-arm64-kvm-take-mmap_sem-in-stage2_unmap_vm.patch
> queue-4.9/mm-page_alloc.c-fix-print-order-in-show_free_areas.patch
> queue-4.9/usb-dwc3-host-pass-quirk-broken-port-ped-property-for-known-broken-revisions.patch
> queue-4.9/hid-usbhid-add-quirk-for-the-futaba-tosd-5711bb-vfd.patch
> queue-4.9/mmc-sdhci-msm-enable-few-quirks.patch
> queue-4.9/hid-usbhid-add-quirk-for-mayflash-dragonrise-dolphinbar.patch
> queue-4.9/arm-smccc-update-hvc-comment-to-describe-new-quirk-parameter.patch
> queue-4.9/hid-usbhid-add-quirks-for-mayflash-dragonrise-gamecube-and-ps3-adapters.patch
> queue-4.9/pci-thunder-pem-factor-out-resource-lookup.patch
> queue-4.9/pci-acpi-extend-pci_mcfg_lookup-to-return-ecam-config-accessors.patch
> queue-4.9/mips-c-r4k-fix-loongson-3-s-vcache-scache-waysize-calculation.patch
> queue-4.9/platform-x86-asus-wmi-set-specified-xusb2pr-value-for-x550lb.patch
> queue-4.9/drm-vmwgfx-avoid-calling-vzalloc-with-a-0-size-in-vmw_get_cap_3d_ioctl.patch
> queue-4.9/usb-xhci-add-quirk-flag-for-broken-ped-bits.patch
> queue-4.9/scsi-ufs-ensure-that-host-pa_tactivate-is-higher-than-device.patch
> queue-4.9/mips-force-o32-fp64-support-on-32bit-mips64r6-kernels.patch
> queue-4.9/arm-davinci-add-skeleton-for-pdata-quirks.patch
> queue-4.9/usb-dwc3-gadget-delay-unmap-of-bounced-requests.patch
> queue-4.9/x86-reboot-quirks-fix-typo-in-asus-eeebook-x205ta-reboot-quirk.patch
> queue-4.9/mips-add-mips_cpu_ftlb-for-loongson-3a-r2.patch
> queue-4.9/alsa-usb-audio-add-native-dsd-support-for-teac-501-503-dac.patch
> queue-4.9/kbuild-use-cc-disable-warning-consistently-for-maybe-uninitialized.patch
> queue-4.9/arm-omap2-fix-init-for-multiple-quirks-for-the-same-soc.patch
> queue-4.9/pci-add-mcfg-quirks-for-hisilicon-hip05-06-07-host-controllers.patch
> queue-4.9/hid-microsoft-add-surface-4-type-cover-pro-4-not-jp-versions.patch
> queue-4.9/ppdev-fix-registering-same-device-name.patch
> queue-4.9/pci-add-mcfg-quirks-for-cavium-thunderx-pass2.x-host-controller.patch
> queue-4.9/x86-reboot-quirks-add-asus-eeebook-x205ta-w-reboot-quirk.patch
> queue-4.9/acpi-sysfs-provide-quirk-mechanism-to-prevent-gpe-flooding.patch
> queue-4.9/scsi-ufs-add-quirk-to-increase-host-pa_saveconfigtime.patch
> queue-4.9/drm-ttm-drm-vmwgfx-relax-permission-checking-when-opening-surfaces.patch
> queue-4.9/arm64-pci-add-local-struct-device-pointers.patch
> queue-4.9/drm-vmwgfx-null-pointer-dereference-in-vmw_surface_define_ioctl.patch
> queue-4.9/asoc-sun4i-i2s-add-quirks-to-handle-a31-compatible.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]