llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v2 2/2] usb: gadget: f_uac2: Populate SS descriptors' wBytesPerInterval
       [not found] <20210909082651.11912-3-jackp@codeaurora.org>
@ 2021-09-09 17:08 ` kernel test robot
  2021-09-09 17:40   ` Jack Pham
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2021-09-09 17:08 UTC (permalink / raw)
  To: Jack Pham, Greg Kroah-Hartman, Felipe Balbi, Thinh Nguyen,
	Ruslan Bilovol, Jerome Brunet, Pavel Hofman
  Cc: llvm, kbuild-all, linux-usb, Ferry Toth, Wesley Cheng,
	Pawel Laszczak

[-- Attachment #1: Type: text/plain, Size: 15589 bytes --]

Hi Jack,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on usb/usb-testing]
[also build test ERROR on peter.chen-usb/for-usb-next linus/master next-20210909]
[cannot apply to v5.14]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Jack-Pham/usb-gadget-f_uac2-Fixes-for-SuperSpeed/20210909-162955
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: i386-randconfig-a016-20210908 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/f262014b234c389fc10439b7c11aa10ea84270f6
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Jack-Pham/usb-gadget-f_uac2-Fixes-for-SuperSpeed/20210909-162955
        git checkout f262014b234c389fc10439b7c11aa10ea84270f6
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/usb/gadget/function/f_uac2.c:1181:19: error: member reference type 'struct usb_ss_ep_comp_descriptor' is not a pointer; did you mean to use '.'?
           ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
           ~~~~~~~~~~~~~~~~~^~
                            .
>> drivers/usb/gadget/function/f_uac2.c:1181:53: error: member reference type 'struct usb_endpoint_descriptor' is not a pointer; did you mean to use '.'?
           ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
                                                  ~~~~~~~~~~~~^~
                                                              .
>> drivers/usb/gadget/function/f_uac2.c:1181:39: error: expression is not assignable
           ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   drivers/usb/gadget/function/f_uac2.c:1182:20: error: member reference type 'struct usb_ss_ep_comp_descriptor' is not a pointer; did you mean to use '.'?
           ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
           ~~~~~~~~~~~~~~~~~~^~
                             .
   drivers/usb/gadget/function/f_uac2.c:1182:55: error: member reference type 'struct usb_endpoint_descriptor' is not a pointer; did you mean to use '.'?
           ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
                                                   ~~~~~~~~~~~~~^~
                                                                .
   drivers/usb/gadget/function/f_uac2.c:1182:40: error: expression is not assignable
           ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
   6 errors generated.


vim +1181 drivers/usb/gadget/function/f_uac2.c

   939	
   940	static int
   941	afunc_bind(struct usb_configuration *cfg, struct usb_function *fn)
   942	{
   943		struct f_uac2 *uac2 = func_to_uac2(fn);
   944		struct g_audio *agdev = func_to_g_audio(fn);
   945		struct usb_composite_dev *cdev = cfg->cdev;
   946		struct usb_gadget *gadget = cdev->gadget;
   947		struct device *dev = &gadget->dev;
   948		struct f_uac2_opts *uac2_opts = g_audio_to_uac2_opts(agdev);
   949		struct usb_string *us;
   950		int ret;
   951	
   952		ret = afunc_validate_opts(agdev, dev);
   953		if (ret)
   954			return ret;
   955	
   956		us = usb_gstrings_attach(cdev, fn_strings, ARRAY_SIZE(strings_fn));
   957		if (IS_ERR(us))
   958			return PTR_ERR(us);
   959	
   960		if (FUOUT_EN(uac2_opts)) {
   961			out_feature_unit_desc = build_fu_desc(uac2_opts->c_chmask);
   962			if (!out_feature_unit_desc)
   963				return -ENOMEM;
   964		}
   965		if (FUIN_EN(uac2_opts)) {
   966			in_feature_unit_desc = build_fu_desc(uac2_opts->p_chmask);
   967			if (!in_feature_unit_desc) {
   968				ret = -ENOMEM;
   969				goto err_free_fu;
   970			}
   971		}
   972	
   973		iad_desc.iFunction = us[STR_ASSOC].id;
   974		std_ac_if_desc.iInterface = us[STR_IF_CTRL].id;
   975		in_clk_src_desc.iClockSource = us[STR_CLKSRC_IN].id;
   976		out_clk_src_desc.iClockSource = us[STR_CLKSRC_OUT].id;
   977		usb_out_it_desc.iTerminal = us[STR_USB_IT].id;
   978		io_in_it_desc.iTerminal = us[STR_IO_IT].id;
   979		usb_in_ot_desc.iTerminal = us[STR_USB_OT].id;
   980		io_out_ot_desc.iTerminal = us[STR_IO_OT].id;
   981		std_as_out_if0_desc.iInterface = us[STR_AS_OUT_ALT0].id;
   982		std_as_out_if1_desc.iInterface = us[STR_AS_OUT_ALT1].id;
   983		std_as_in_if0_desc.iInterface = us[STR_AS_IN_ALT0].id;
   984		std_as_in_if1_desc.iInterface = us[STR_AS_IN_ALT1].id;
   985	
   986		if (FUOUT_EN(uac2_opts)) {
   987			u8 *i_feature = (u8 *)out_feature_unit_desc +
   988					out_feature_unit_desc->bLength - 1;
   989			*i_feature = us[STR_FU_OUT].id;
   990		}
   991		if (FUIN_EN(uac2_opts)) {
   992			u8 *i_feature = (u8 *)in_feature_unit_desc +
   993					in_feature_unit_desc->bLength - 1;
   994			*i_feature = us[STR_FU_IN].id;
   995		}
   996	
   997	
   998		/* Initialize the configurable parameters */
   999		usb_out_it_desc.bNrChannels = num_channels(uac2_opts->c_chmask);
  1000		usb_out_it_desc.bmChannelConfig = cpu_to_le32(uac2_opts->c_chmask);
  1001		io_in_it_desc.bNrChannels = num_channels(uac2_opts->p_chmask);
  1002		io_in_it_desc.bmChannelConfig = cpu_to_le32(uac2_opts->p_chmask);
  1003		as_out_hdr_desc.bNrChannels = num_channels(uac2_opts->c_chmask);
  1004		as_out_hdr_desc.bmChannelConfig = cpu_to_le32(uac2_opts->c_chmask);
  1005		as_in_hdr_desc.bNrChannels = num_channels(uac2_opts->p_chmask);
  1006		as_in_hdr_desc.bmChannelConfig = cpu_to_le32(uac2_opts->p_chmask);
  1007		as_out_fmt1_desc.bSubslotSize = uac2_opts->c_ssize;
  1008		as_out_fmt1_desc.bBitResolution = uac2_opts->c_ssize * 8;
  1009		as_in_fmt1_desc.bSubslotSize = uac2_opts->p_ssize;
  1010		as_in_fmt1_desc.bBitResolution = uac2_opts->p_ssize * 8;
  1011		if (FUOUT_EN(uac2_opts)) {
  1012			__le32 *bma = (__le32 *)&out_feature_unit_desc->bmaControls[0];
  1013			u32 control = 0;
  1014	
  1015			if (uac2_opts->c_mute_present)
  1016				control |= CONTROL_RDWR << FU_MUTE_CTRL;
  1017			if (uac2_opts->c_volume_present)
  1018				control |= CONTROL_RDWR << FU_VOL_CTRL;
  1019			*bma = cpu_to_le32(control);
  1020		}
  1021		if (FUIN_EN(uac2_opts)) {
  1022			__le32 *bma = (__le32 *)&in_feature_unit_desc->bmaControls[0];
  1023			u32 control = 0;
  1024	
  1025			if (uac2_opts->p_mute_present)
  1026				control |= CONTROL_RDWR << FU_MUTE_CTRL;
  1027			if (uac2_opts->p_volume_present)
  1028				control |= CONTROL_RDWR << FU_VOL_CTRL;
  1029			*bma = cpu_to_le32(control);
  1030		}
  1031	
  1032		snprintf(clksrc_in, sizeof(clksrc_in), "%uHz", uac2_opts->p_srate);
  1033		snprintf(clksrc_out, sizeof(clksrc_out), "%uHz", uac2_opts->c_srate);
  1034	
  1035		ret = usb_interface_id(cfg, fn);
  1036		if (ret < 0) {
  1037			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1038			goto err_free_fu;
  1039		}
  1040		iad_desc.bFirstInterface = ret;
  1041	
  1042		std_ac_if_desc.bInterfaceNumber = ret;
  1043		uac2->ac_intf = ret;
  1044		uac2->ac_alt = 0;
  1045	
  1046		if (EPOUT_EN(uac2_opts)) {
  1047			ret = usb_interface_id(cfg, fn);
  1048			if (ret < 0) {
  1049				dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1050				goto err_free_fu;
  1051			}
  1052			std_as_out_if0_desc.bInterfaceNumber = ret;
  1053			std_as_out_if1_desc.bInterfaceNumber = ret;
  1054			uac2->as_out_intf = ret;
  1055			uac2->as_out_alt = 0;
  1056	
  1057			if (EPOUT_FBACK_IN_EN(uac2_opts)) {
  1058				fs_epout_desc.bmAttributes =
  1059				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC;
  1060				hs_epout_desc.bmAttributes =
  1061				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC;
  1062				ss_epout_desc.bmAttributes =
  1063				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC;
  1064				std_as_out_if1_desc.bNumEndpoints++;
  1065			} else {
  1066				fs_epout_desc.bmAttributes =
  1067				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ADAPTIVE;
  1068				hs_epout_desc.bmAttributes =
  1069				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ADAPTIVE;
  1070				ss_epout_desc.bmAttributes =
  1071				  USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ADAPTIVE;
  1072			}
  1073		}
  1074	
  1075		if (EPIN_EN(uac2_opts)) {
  1076			ret = usb_interface_id(cfg, fn);
  1077			if (ret < 0) {
  1078				dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1079				goto err_free_fu;
  1080			}
  1081			std_as_in_if0_desc.bInterfaceNumber = ret;
  1082			std_as_in_if1_desc.bInterfaceNumber = ret;
  1083			uac2->as_in_intf = ret;
  1084			uac2->as_in_alt = 0;
  1085		}
  1086	
  1087		if (FUOUT_EN(uac2_opts) || FUIN_EN(uac2_opts)) {
  1088			uac2->int_ep = usb_ep_autoconfig(gadget, &fs_ep_int_desc);
  1089			if (!uac2->int_ep) {
  1090				dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1091				ret = -ENODEV;
  1092				goto err_free_fu;
  1093			}
  1094	
  1095			std_ac_if_desc.bNumEndpoints = 1;
  1096		}
  1097	
  1098		/* Calculate wMaxPacketSize according to audio bandwidth */
  1099		ret = set_ep_max_packet_size(uac2_opts, &fs_epin_desc, USB_SPEED_FULL,
  1100					     true);
  1101		if (ret < 0) {
  1102			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1103			return ret;
  1104		}
  1105	
  1106		ret = set_ep_max_packet_size(uac2_opts, &fs_epout_desc, USB_SPEED_FULL,
  1107					     false);
  1108		if (ret < 0) {
  1109			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1110			return ret;
  1111		}
  1112	
  1113		ret = set_ep_max_packet_size(uac2_opts, &hs_epin_desc, USB_SPEED_HIGH,
  1114					     true);
  1115		if (ret < 0) {
  1116			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1117			return ret;
  1118		}
  1119	
  1120		ret = set_ep_max_packet_size(uac2_opts, &hs_epout_desc, USB_SPEED_HIGH,
  1121					     false);
  1122		if (ret < 0) {
  1123			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1124			return ret;
  1125		}
  1126	
  1127		ret = set_ep_max_packet_size(uac2_opts, &ss_epin_desc, USB_SPEED_SUPER,
  1128					     true);
  1129		if (ret < 0) {
  1130			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1131			return ret;
  1132		}
  1133	
  1134		ret = set_ep_max_packet_size(uac2_opts, &ss_epout_desc, USB_SPEED_SUPER,
  1135					     false);
  1136		if (ret < 0) {
  1137			dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1138			return ret;
  1139		}
  1140	
  1141		if (EPOUT_EN(uac2_opts)) {
  1142			agdev->out_ep = usb_ep_autoconfig(gadget, &fs_epout_desc);
  1143			if (!agdev->out_ep) {
  1144				dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1145				ret = -ENODEV;
  1146				goto err_free_fu;
  1147			}
  1148			if (EPOUT_FBACK_IN_EN(uac2_opts)) {
  1149				agdev->in_ep_fback = usb_ep_autoconfig(gadget,
  1150							       &fs_epin_fback_desc);
  1151				if (!agdev->in_ep_fback) {
  1152					dev_err(dev, "%s:%d Error!\n",
  1153						__func__, __LINE__);
  1154					ret = -ENODEV;
  1155					goto err_free_fu;
  1156				}
  1157			}
  1158		}
  1159	
  1160		if (EPIN_EN(uac2_opts)) {
  1161			agdev->in_ep = usb_ep_autoconfig(gadget, &fs_epin_desc);
  1162			if (!agdev->in_ep) {
  1163				dev_err(dev, "%s:%d Error!\n", __func__, __LINE__);
  1164				ret = -ENODEV;
  1165				goto err_free_fu;
  1166			}
  1167		}
  1168	
  1169		agdev->in_ep_maxpsize = max_t(u16,
  1170					le16_to_cpu(fs_epin_desc.wMaxPacketSize),
  1171					le16_to_cpu(hs_epin_desc.wMaxPacketSize));
  1172		agdev->out_ep_maxpsize = max_t(u16,
  1173					le16_to_cpu(fs_epout_desc.wMaxPacketSize),
  1174					le16_to_cpu(hs_epout_desc.wMaxPacketSize));
  1175	
  1176		agdev->in_ep_maxpsize = max_t(u16, agdev->in_ep_maxpsize,
  1177					le16_to_cpu(ss_epin_desc.wMaxPacketSize));
  1178		agdev->out_ep_maxpsize = max_t(u16, agdev->out_ep_maxpsize,
  1179					le16_to_cpu(ss_epout_desc.wMaxPacketSize));
  1180	
> 1181		ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
  1182		ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
  1183	
  1184		// HS and SS endpoint addresses are copied from autoconfigured FS descriptors
  1185		hs_ep_int_desc.bEndpointAddress = fs_ep_int_desc.bEndpointAddress;
  1186		hs_epout_desc.bEndpointAddress = fs_epout_desc.bEndpointAddress;
  1187		hs_epin_fback_desc.bEndpointAddress = fs_epin_fback_desc.bEndpointAddress;
  1188		hs_epin_desc.bEndpointAddress = fs_epin_desc.bEndpointAddress;
  1189		ss_epout_desc.bEndpointAddress = fs_epout_desc.bEndpointAddress;
  1190		ss_epin_fback_desc.bEndpointAddress = fs_epin_fback_desc.bEndpointAddress;
  1191		ss_epin_desc.bEndpointAddress = fs_epin_desc.bEndpointAddress;
  1192		ss_ep_int_desc.bEndpointAddress = fs_ep_int_desc.bEndpointAddress;
  1193	
  1194		setup_descriptor(uac2_opts);
  1195	
  1196		ret = usb_assign_descriptors(fn, fs_audio_desc, hs_audio_desc, ss_audio_desc,
  1197					     ss_audio_desc);
  1198		if (ret)
  1199			goto err_free_fu;
  1200	
  1201		agdev->gadget = gadget;
  1202	
  1203		agdev->params.p_chmask = uac2_opts->p_chmask;
  1204		agdev->params.p_srate = uac2_opts->p_srate;
  1205		agdev->params.p_ssize = uac2_opts->p_ssize;
  1206		if (FUIN_EN(uac2_opts)) {
  1207			agdev->params.p_fu.id = USB_IN_FU_ID;
  1208			agdev->params.p_fu.mute_present = uac2_opts->p_mute_present;
  1209			agdev->params.p_fu.volume_present = uac2_opts->p_volume_present;
  1210			agdev->params.p_fu.volume_min = uac2_opts->p_volume_min;
  1211			agdev->params.p_fu.volume_max = uac2_opts->p_volume_max;
  1212			agdev->params.p_fu.volume_res = uac2_opts->p_volume_res;
  1213		}
  1214		agdev->params.c_chmask = uac2_opts->c_chmask;
  1215		agdev->params.c_srate = uac2_opts->c_srate;
  1216		agdev->params.c_ssize = uac2_opts->c_ssize;
  1217		if (FUOUT_EN(uac2_opts)) {
  1218			agdev->params.c_fu.id = USB_OUT_FU_ID;
  1219			agdev->params.c_fu.mute_present = uac2_opts->c_mute_present;
  1220			agdev->params.c_fu.volume_present = uac2_opts->c_volume_present;
  1221			agdev->params.c_fu.volume_min = uac2_opts->c_volume_min;
  1222			agdev->params.c_fu.volume_max = uac2_opts->c_volume_max;
  1223			agdev->params.c_fu.volume_res = uac2_opts->c_volume_res;
  1224		}
  1225		agdev->params.req_number = uac2_opts->req_number;
  1226		agdev->params.fb_max = uac2_opts->fb_max;
  1227	
  1228		if (FUOUT_EN(uac2_opts) || FUIN_EN(uac2_opts))
  1229	    agdev->notify = afunc_notify;
  1230	
  1231		ret = g_audio_setup(agdev, "UAC2 PCM", "UAC2_Gadget");
  1232		if (ret)
  1233			goto err_free_descs;
  1234	
  1235		return 0;
  1236	
  1237	err_free_descs:
  1238		usb_free_all_descriptors(fn);
  1239		agdev->gadget = NULL;
  1240	err_free_fu:
  1241		kfree(out_feature_unit_desc);
  1242		out_feature_unit_desc = NULL;
  1243		kfree(in_feature_unit_desc);
  1244		in_feature_unit_desc = NULL;
  1245		return ret;
  1246	}
  1247	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 39763 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2 2/2] usb: gadget: f_uac2: Populate SS descriptors' wBytesPerInterval
  2021-09-09 17:08 ` [PATCH v2 2/2] usb: gadget: f_uac2: Populate SS descriptors' wBytesPerInterval kernel test robot
@ 2021-09-09 17:40   ` Jack Pham
  0 siblings, 0 replies; 2+ messages in thread
From: Jack Pham @ 2021-09-09 17:40 UTC (permalink / raw)
  To: kernel test robot
  Cc: Greg Kroah-Hartman, Felipe Balbi, Thinh Nguyen, Ruslan Bilovol,
	Jerome Brunet, Pavel Hofman, llvm, kbuild-all, linux-usb,
	Ferry Toth, Wesley Cheng, Pawel Laszczak

On Fri, Sep 10, 2021 at 01:08:02AM +0800, kernel test robot wrote:
> Hi Jack,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on usb/usb-testing]
> [also build test ERROR on peter.chen-usb/for-usb-next linus/master next-20210909]
> [cannot apply to v5.14]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/0day-ci/linux/commits/Jack-Pham/usb-gadget-f_uac2-Fixes-for-SuperSpeed/20210909-162955
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
> config: i386-randconfig-a016-20210908 (attached as .config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 261cbe98c38f8c1ee1a482fe76511110e790f58a)
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/0day-ci/linux/commit/f262014b234c389fc10439b7c11aa10ea84270f6
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Jack-Pham/usb-gadget-f_uac2-Fixes-for-SuperSpeed/20210909-162955
>         git checkout f262014b234c389fc10439b7c11aa10ea84270f6
>         # save the attached .config to linux build tree
>         mkdir build_dir
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=i386 SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All errors (new ones prefixed by >>):
> 
> >> drivers/usb/gadget/function/f_uac2.c:1181:19: error: member reference type 'struct usb_ss_ep_comp_descriptor' is not a pointer; did you mean to use '.'?
>            ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
>            ~~~~~~~~~~~~~~~~~^~
>                             .
> >> drivers/usb/gadget/function/f_uac2.c:1181:53: error: member reference type 'struct usb_endpoint_descriptor' is not a pointer; did you mean to use '.'?
>            ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
>                                                   ~~~~~~~~~~~~^~
>                                                               .
> >> drivers/usb/gadget/function/f_uac2.c:1181:39: error: expression is not assignable
>            ss_epin_desc_comp->wBytesPerInterval = ss_epin_desc->wMaxPacketSize;
>            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
>    drivers/usb/gadget/function/f_uac2.c:1182:20: error: member reference type 'struct usb_ss_ep_comp_descriptor' is not a pointer; did you mean to use '.'?
>            ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
>            ~~~~~~~~~~~~~~~~~~^~
>                              .
>    drivers/usb/gadget/function/f_uac2.c:1182:55: error: member reference type 'struct usb_endpoint_descriptor' is not a pointer; did you mean to use '.'?
>            ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
>                                                    ~~~~~~~~~~~~~^~
>                                                                 .
>    drivers/usb/gadget/function/f_uac2.c:1182:40: error: expression is not assignable
>            ss_epout_desc_comp->wBytesPerInterval = ss_epout_desc->wMaxPacketSize;
>            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
>    6 errors generated.

DOH! Was wondering why this was working for me but failed to realize I
was still loading an older build that had previous changes.

Sorry for the noise!! V3 coming very soon.

Jack
-- 
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-09 17:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20210909082651.11912-3-jackp@codeaurora.org>
2021-09-09 17:08 ` [PATCH v2 2/2] usb: gadget: f_uac2: Populate SS descriptors' wBytesPerInterval kernel test robot
2021-09-09 17:40   ` Jack Pham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).