Hi Anant,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on usb/usb-testing]
[also build test WARNING on balbi-usb/testing/next 
peter.chen-usb/ci-for-usb-next v5.10-rc6 next-20201127]
[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/Anant-Thazhemadam/drivers-usb-misc-update-to-use-usb_control_msg_-send-recv/20201130-093816
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git 
usb-testing
config: h8300-randconfig-s032-20201130 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-170-g3bc348f6-dirty
        # 
https://github.com/0day-ci/linux/commit/a9e2333efa48de6856185ec35c82b659ff1c1215
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Anant-Thazhemadam/drivers-usb-misc-update-to-use-usb_control_msg_-send-recv/20201130-093816
        git checkout a9e2333efa48de6856185ec35c82b659ff1c1215
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300 

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

All warnings (new ones prefixed by >>):

   drivers/usb/misc/emi62.c: In function 'emi62_load_firmware':
>> drivers/usb/misc/emi62.c:213:1: warning: the frame size of 1048 bytes is 
>> larger than 1024 bytes [-Wframe-larger-than=]
     213 | }
         | ^

vim +213 drivers/usb/misc/emi62.c

^1da177e4c3f415 Linus Torvalds     2005-04-16   68  
^1da177e4c3f415 Linus Torvalds     2005-04-16   69  static int 
emi62_load_firmware (struct usb_device *dev)
^1da177e4c3f415 Linus Torvalds     2005-04-16   70  {
b8e24bfabb03527 David Woodhouse    2008-05-30   71      const struct firmware 
*loader_fw = NULL;
b8e24bfabb03527 David Woodhouse    2008-05-30   72      const struct firmware 
*bitstream_fw = NULL;
b8e24bfabb03527 David Woodhouse    2008-05-30   73      const struct firmware 
*firmware_fw = NULL;
b8e24bfabb03527 David Woodhouse    2008-05-30   74      const struct 
ihex_binrec *rec;
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20   75      int err = -ENOMEM;
^1da177e4c3f415 Linus Torvalds     2005-04-16   76      int i;
^1da177e4c3f415 Linus Torvalds     2005-04-16   77      __u32 addr;     /* 
Address to write */
a9e2333efa48de6 Anant Thazhemadam  2020-11-30   78      __u8 buf[FW_LOAD_SIZE];
^1da177e4c3f415 Linus Torvalds     2005-04-16   79  
^1da177e4c3f415 Linus Torvalds     2005-04-16   80      dev_dbg(&dev->dev, 
"load_firmware\n");
^1da177e4c3f415 Linus Torvalds     2005-04-16   81  
b8e24bfabb03527 David Woodhouse    2008-05-30   82      err = 
request_ihex_firmware(&loader_fw, "emi62/loader.fw", &dev->dev);
b8e24bfabb03527 David Woodhouse    2008-05-30   83      if (err)
b8e24bfabb03527 David Woodhouse    2008-05-30   84              goto nofw;
b8e24bfabb03527 David Woodhouse    2008-05-30   85  
b8e24bfabb03527 David Woodhouse    2008-05-30   86      err = 
request_ihex_firmware(&bitstream_fw, "emi62/bitstream.fw",
b8e24bfabb03527 David Woodhouse    2008-05-30   87                              
    &dev->dev);
b8e24bfabb03527 David Woodhouse    2008-05-30   88      if (err)
b8e24bfabb03527 David Woodhouse    2008-05-30   89              goto nofw;
b8e24bfabb03527 David Woodhouse    2008-05-30   90  
b8e24bfabb03527 David Woodhouse    2008-05-30   91      err = 
request_ihex_firmware(&firmware_fw, FIRMWARE_FW, &dev->dev);
b8e24bfabb03527 David Woodhouse    2008-05-30   92      if (err) {
b8e24bfabb03527 David Woodhouse    2008-05-30   93      nofw:
b8e24bfabb03527 David Woodhouse    2008-05-30   94              goto wraperr;
b8e24bfabb03527 David Woodhouse    2008-05-30   95      }
b8e24bfabb03527 David Woodhouse    2008-05-30   96  
^1da177e4c3f415 Linus Torvalds     2005-04-16   97      /* Assert reset (stop 
the CPU in the EMI) */
^1da177e4c3f415 Linus Torvalds     2005-04-16   98      err = 
emi62_set_reset(dev,1);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20   99      if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  100              goto wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  101  
b8e24bfabb03527 David Woodhouse    2008-05-30  102      rec = (const struct 
ihex_binrec *)loader_fw->data;
b8e24bfabb03527 David Woodhouse    2008-05-30  103  
^1da177e4c3f415 Linus Torvalds     2005-04-16  104      /* 1. We need to put 
the loader for the FPGA into the EZ-USB */
b8e24bfabb03527 David Woodhouse    2008-05-30  105      while (rec) {
b8e24bfabb03527 David Woodhouse    2008-05-30  106              err = 
emi62_writememory(dev, be32_to_cpu(rec->addr),
b8e24bfabb03527 David Woodhouse    2008-05-30  107                              
        rec->data, be16_to_cpu(rec->len),
b8e24bfabb03527 David Woodhouse    2008-05-30  108                              
        ANCHOR_LOAD_INTERNAL);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  109              if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  110                      goto 
wraperr;
b8e24bfabb03527 David Woodhouse    2008-05-30  111              rec = 
ihex_next_binrec(rec);
^1da177e4c3f415 Linus Torvalds     2005-04-16  112      }
^1da177e4c3f415 Linus Torvalds     2005-04-16  113  
^1da177e4c3f415 Linus Torvalds     2005-04-16  114      /* De-assert reset (let 
the CPU run) */
^1da177e4c3f415 Linus Torvalds     2005-04-16  115      err = 
emi62_set_reset(dev,0);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  116      if (err < 0)
5919a43bbc649f4 Oliver Neukum      2007-10-25  117              goto wraperr;
16c23f7d88cbcce Monty              2006-05-09  118      msleep(250);    /* let 
device settle */
^1da177e4c3f415 Linus Torvalds     2005-04-16  119  
^1da177e4c3f415 Linus Torvalds     2005-04-16  120      /* 2. We upload the 
FPGA firmware into the EMI
^1da177e4c3f415 Linus Torvalds     2005-04-16  121       * Note: collect up to 
1023 (yes!) bytes and send them with
^1da177e4c3f415 Linus Torvalds     2005-04-16  122       * a single request. 
This is _much_ faster! */
b8e24bfabb03527 David Woodhouse    2008-05-30  123      rec = (const struct 
ihex_binrec *)bitstream_fw->data;
^1da177e4c3f415 Linus Torvalds     2005-04-16  124      do {
^1da177e4c3f415 Linus Torvalds     2005-04-16  125              i = 0;
b8e24bfabb03527 David Woodhouse    2008-05-30  126              addr = 
be32_to_cpu(rec->addr);
^1da177e4c3f415 Linus Torvalds     2005-04-16  127  
^1da177e4c3f415 Linus Torvalds     2005-04-16  128              /* intel hex 
records are terminated with type 0 element */
b8e24bfabb03527 David Woodhouse    2008-05-30  129              while (rec && 
(i + be16_to_cpu(rec->len) < FW_LOAD_SIZE)) {
a9e2333efa48de6 Anant Thazhemadam  2020-11-30  130                      
memcpy(&buf[i], rec->data, be16_to_cpu(rec->len));
b8e24bfabb03527 David Woodhouse    2008-05-30  131                      i += 
be16_to_cpu(rec->len);
b8e24bfabb03527 David Woodhouse    2008-05-30  132                      rec = 
ihex_next_binrec(rec);
^1da177e4c3f415 Linus Torvalds     2005-04-16  133              }
a9e2333efa48de6 Anant Thazhemadam  2020-11-30  134              err = 
emi62_writememory(dev, addr, &buf, i, ANCHOR_LOAD_FPGA);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  135              if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  136                      goto 
wraperr;
ac06c06770bb876 Clemens Ladisch    2009-12-21  137      } while (rec);
^1da177e4c3f415 Linus Torvalds     2005-04-16  138  
^1da177e4c3f415 Linus Torvalds     2005-04-16  139      /* Assert reset (stop 
the CPU in the EMI) */
^1da177e4c3f415 Linus Torvalds     2005-04-16  140      err = 
emi62_set_reset(dev,1);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  141      if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  142              goto wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  143  
^1da177e4c3f415 Linus Torvalds     2005-04-16  144      /* 3. We need to put 
the loader for the firmware into the EZ-USB (again...) */
b8e24bfabb03527 David Woodhouse    2008-05-30  145      for (rec = (const 
struct ihex_binrec *)loader_fw->data;
b8e24bfabb03527 David Woodhouse    2008-05-30  146           rec; rec = 
ihex_next_binrec(rec)) {
b8e24bfabb03527 David Woodhouse    2008-05-30  147              err = 
emi62_writememory(dev, be32_to_cpu(rec->addr),
b8e24bfabb03527 David Woodhouse    2008-05-30  148                              
        rec->data, be16_to_cpu(rec->len),
b8e24bfabb03527 David Woodhouse    2008-05-30  149                              
        ANCHOR_LOAD_INTERNAL);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  150              if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  151                      goto 
wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  152      }
^1da177e4c3f415 Linus Torvalds     2005-04-16  153  
^1da177e4c3f415 Linus Torvalds     2005-04-16  154      /* De-assert reset (let 
the CPU run) */
^1da177e4c3f415 Linus Torvalds     2005-04-16  155      err = 
emi62_set_reset(dev,0);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  156      if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  157              goto wraperr;
16c23f7d88cbcce Monty              2006-05-09  158      msleep(250);    /* let 
device settle */
^1da177e4c3f415 Linus Torvalds     2005-04-16  159  
^1da177e4c3f415 Linus Torvalds     2005-04-16  160      /* 4. We put the part 
of the firmware that lies in the external RAM into the EZ-USB */
^1da177e4c3f415 Linus Torvalds     2005-04-16  161  
b8e24bfabb03527 David Woodhouse    2008-05-30  162      for (rec = (const 
struct ihex_binrec *)firmware_fw->data;
b8e24bfabb03527 David Woodhouse    2008-05-30  163           rec; rec = 
ihex_next_binrec(rec)) {
b8e24bfabb03527 David Woodhouse    2008-05-30  164              if 
(!INTERNAL_RAM(be32_to_cpu(rec->addr))) {
b8e24bfabb03527 David Woodhouse    2008-05-30  165                      err = 
emi62_writememory(dev, be32_to_cpu(rec->addr),
b8e24bfabb03527 David Woodhouse    2008-05-30  166                              
                rec->data, be16_to_cpu(rec->len),
b8e24bfabb03527 David Woodhouse    2008-05-30  167                              
                ANCHOR_LOAD_EXTERNAL);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  168                      if (err 
< 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  169                              
goto wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  170              }
^1da177e4c3f415 Linus Torvalds     2005-04-16  171      }
b8e24bfabb03527 David Woodhouse    2008-05-30  172  
^1da177e4c3f415 Linus Torvalds     2005-04-16  173      /* Assert reset (stop 
the CPU in the EMI) */
^1da177e4c3f415 Linus Torvalds     2005-04-16  174      err = 
emi62_set_reset(dev,1);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  175      if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  176              goto wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  177  
b8e24bfabb03527 David Woodhouse    2008-05-30  178      for (rec = (const 
struct ihex_binrec *)firmware_fw->data;
b8e24bfabb03527 David Woodhouse    2008-05-30  179           rec; rec = 
ihex_next_binrec(rec)) {
b8e24bfabb03527 David Woodhouse    2008-05-30  180              if 
(INTERNAL_RAM(be32_to_cpu(rec->addr))) {
b8e24bfabb03527 David Woodhouse    2008-05-30  181                      err = 
emi62_writememory(dev, be32_to_cpu(rec->addr),
b8e24bfabb03527 David Woodhouse    2008-05-30  182                              
                rec->data, be16_to_cpu(rec->len),
b8e24bfabb03527 David Woodhouse    2008-05-30  183                              
                ANCHOR_LOAD_EXTERNAL);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  184                      if (err 
< 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  185                              
goto wraperr;
^1da177e4c3f415 Linus Torvalds     2005-04-16  186              }
^1da177e4c3f415 Linus Torvalds     2005-04-16  187      }
^1da177e4c3f415 Linus Torvalds     2005-04-16  188  
^1da177e4c3f415 Linus Torvalds     2005-04-16  189      /* De-assert reset (let 
the CPU run) */
^1da177e4c3f415 Linus Torvalds     2005-04-16  190      err = 
emi62_set_reset(dev,0);
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  191      if (err < 0)
^1da177e4c3f415 Linus Torvalds     2005-04-16  192              goto wraperr;
16c23f7d88cbcce Monty              2006-05-09  193      msleep(250);    /* let 
device settle */
^1da177e4c3f415 Linus Torvalds     2005-04-16  194  
b8e24bfabb03527 David Woodhouse    2008-05-30  195      
release_firmware(loader_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  196      
release_firmware(bitstream_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  197      
release_firmware(firmware_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  198  
^1da177e4c3f415 Linus Torvalds     2005-04-16  199      /* return 1 to fail the 
driver inialization
^1da177e4c3f415 Linus Torvalds     2005-04-16  200       * and give real driver 
change to load */
^1da177e4c3f415 Linus Torvalds     2005-04-16  201      return 1;
^1da177e4c3f415 Linus Torvalds     2005-04-16  202  
^1da177e4c3f415 Linus Torvalds     2005-04-16  203  wraperr:
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  204      if (err < 0)
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  205              
dev_err(&dev->dev,"%s - error loading firmware: error = %d\n",
e9a527dae346c0a Greg Kroah-Hartman 2012-04-20  206                      
__func__, err);
b8e24bfabb03527 David Woodhouse    2008-05-30  207      
release_firmware(loader_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  208      
release_firmware(bitstream_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  209      
release_firmware(firmware_fw);
b8e24bfabb03527 David Woodhouse    2008-05-30  210  
^1da177e4c3f415 Linus Torvalds     2005-04-16  211      dev_err(&dev->dev, 
"Error\n");
^1da177e4c3f415 Linus Torvalds     2005-04-16  212      return err;
^1da177e4c3f415 Linus Torvalds     2005-04-16 @213  }
^1da177e4c3f415 Linus Torvalds     2005-04-16  214  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to