Re: [PATCH v1 2/2] drm/bridge: anx7625: Add anx7625 MIPI to DP bridge driver

2019-09-24 Thread Xin Ji
On Mon, Sep 23, 2019 at 05:03:55PM +0300, Dan Carpenter wrote:
> I wish you would think more about the error codes that you're returning.
> Most functions do "ret |= frob()." which ORs the error codes together,
> and results in a nonsense negative error code.  But then some functions
> return 1 on error and zero on success which is sometimes a bug,
> sometimes confusing but always ugly.
Hi Dan Carpenter, I'll take more care about return error codes.
As I cannot to check all I2C operation result, so I use "ret |= frob()."
to combine them, if one of them has negative return value, I'll pop out error
message and retuan. Anyway I'll use uniform return error code(negative
value as failed, 0 as success).

Thanks,
Xin
> 
> On Fri, Sep 20, 2019 at 06:07:43AM +, Xin Ji wrote:
> > The ANX7625 is an ultra-low power 4K Mobile HD Transmitter designed
> > for portable device. It converts MIPI to DisplayPort 1.3 4K.
> > 
> > Signed-off-by: Xin Ji 
> > ---
> >  drivers/gpu/drm/bridge/Makefile   |2 +-
> >  drivers/gpu/drm/bridge/analogix/Kconfig   |6 +
> >  drivers/gpu/drm/bridge/analogix/Makefile  |1 +
> >  drivers/gpu/drm/bridge/analogix/anx7625.c | 2085 
> > +
> >  drivers/gpu/drm/bridge/analogix/anx7625.h |  397 ++
> >  5 files changed, 2490 insertions(+), 1 deletion(-)
> >  create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
> >  create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h
> > 
> > diff --git a/drivers/gpu/drm/bridge/Makefile 
> > b/drivers/gpu/drm/bridge/Makefile
> > index 4934fcf..bcd388a 100644
> > --- a/drivers/gpu/drm/bridge/Makefile
> > +++ b/drivers/gpu/drm/bridge/Makefile
> > @@ -12,8 +12,8 @@ obj-$(CONFIG_DRM_SII9234) += sii9234.o
> >  obj-$(CONFIG_DRM_THINE_THC63LVD1024) += thc63lvd1024.o
> >  obj-$(CONFIG_DRM_TOSHIBA_TC358764) += tc358764.o
> >  obj-$(CONFIG_DRM_TOSHIBA_TC358767) += tc358767.o
> > -obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/
> >  obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/
> >  obj-$(CONFIG_DRM_TI_SN65DSI86) += ti-sn65dsi86.o
> >  obj-$(CONFIG_DRM_TI_TFP410) += ti-tfp410.o
> > +obj-y += analogix/
> >  obj-y += synopsys/
> > diff --git a/drivers/gpu/drm/bridge/analogix/Kconfig 
> > b/drivers/gpu/drm/bridge/analogix/Kconfig
> > index e930ff9..b2f127e 100644
> > --- a/drivers/gpu/drm/bridge/analogix/Kconfig
> > +++ b/drivers/gpu/drm/bridge/analogix/Kconfig
> > @@ -2,3 +2,9 @@
> >  config DRM_ANALOGIX_DP
> > tristate
> > depends on DRM
> > +
> > +config ANALOGIX_ANX7625
> > +   tristate "Analogix MIPI to DP interface support"
> > +   help
> > +   ANX7625 is an ultra-low power 4K mobile HD transmitter designed
> > +   for portable devices. It converts MIPI/DPI to DisplayPort1.3 4K.
> > diff --git a/drivers/gpu/drm/bridge/analogix/Makefile 
> > b/drivers/gpu/drm/bridge/analogix/Makefile
> > index fdbf3fd..8a52867 100644
> > --- a/drivers/gpu/drm/bridge/analogix/Makefile
> > +++ b/drivers/gpu/drm/bridge/analogix/Makefile
> > @@ -1,3 +1,4 @@
> >  # SPDX-License-Identifier: GPL-2.0-only
> > +obj-$(CONFIG_ANALOGIX_ANX7625) += anx7625.o
> >  analogix_dp-objs := analogix_dp_core.o analogix_dp_reg.o
> >  obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix_dp.o
> > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c 
> > b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > new file mode 100644
> > index 000..eceadef
> > --- /dev/null
> > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > @@ -0,0 +1,2085 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +/*
> > + * Copyright(c) 2016, Analogix Semiconductor. All rights reserved.
> > + *
> > + */
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +
> > +#include 
> > +#include 
> > +#include 
> > +
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +#include 
> > +
> > +#include 
> > +
> > +#include "anx7625.h"
> > +
> > +/*
> > + * there is a sync issue while access I2C register between AP(CPU) and
> > + * internal firmware(OCM), to avoid the race condition, AP should access
> > + * the reserved slave address before slave address occurs changes.
> > + */
> > +static int i2c_access_workaround(struct anx7625_data *ctx,
> > +struct i2c_client *client)
> > +{
> > +   u8 offset;
> > +   struct device *dev = >dev;
> > +   struct i2c_client *last_client = ctx->last_client;
> > +   int ret = 0;
> > +
> > +   if (client != last_client) {
> 
> Flip this around:
> 
>   if (client == last_client)
>   return 0;
> 
> > +   ctx->last_client = client;
> > +
> > +   if (client == ctx->i2c.tcpc_client)
> > +   offset = RSVD_00_ADDR;
> > +   else if (client == ctx->i2c.tx_p0_client)
> > +   offset = RSVD_D1_ADDR;
> > +   else if (client == ctx->i2c.tx_p1_client)
> > + 

Please my good friend

2019-09-24 Thread Mr. Fu Lan


This message is not spam
Please my good friend
I have a lucrative business proposal that I would like to share with you.
I'm glad about your quick answer
E-mail; fulan3...@gmail.com

greetings
Mr. Fu Lan
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[staging:staging-testing 14/19] drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:191: undefined reference to `cs5535_gpio_set'

2019-09-24 Thread kbuild test robot
tree:   
https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   3f1962fdc723cb48f0ea4e8a733d3ffa88708e98
commit: a3f54564061da0c8c0b60033ff44acfa356b8779 [14/19] staging: olpc_dcon: 
allow simultaneous XO-1 and XO-1.5 support
config: i386-randconfig-g002-201938 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
git checkout a3f54564061da0c8c0b60033ff44acfa356b8779
# save the attached .config to linux build tree
make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_read_status_xo_1':
>> drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:191: undefined reference to 
>> `cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_wiggle_xo_1':
   drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:156: undefined reference to 
`cs5535_gpio_set'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:157: undefined reference to 
>> `cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:158: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:159: undefined reference to 
`cs5535_gpio_set'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:160: undefined reference to 
>> `cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:161: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:162: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:163: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:164: undefined reference to 
`cs5535_gpio_clear'
   ld: 
drivers/staging/olpc_dcon/olpc_dcon_xo_1.o:drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:165:
 more undefined references to `cs5535_gpio_clear' follow
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function 
`dcon_wiggle_xo_1':
   drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:171: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:174: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:175: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:176: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:177: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.o: in function `dcon_init_xo_1':
>> drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:57: undefined reference to 
>> `cs5535_gpio_clear'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:69: undefined reference to 
>> `cs5535_gpio_isset'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:85: undefined reference to 
>> `cs5535_gpio_setup_event'
>> ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:88: undefined reference to 
>> `cs5535_gpio_set_irq'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:102: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:105: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:108: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:111: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:112: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:115: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:118: undefined reference to 
`cs5535_gpio_clear'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:121: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:124: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:127: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:128: undefined reference to 
`cs5535_gpio_set'
   ld: drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:131: undefined reference to 
`cs5535_gpio_set'
   ld: 
drivers/staging/olpc_dcon/olpc_dcon_xo_1.o:drivers/staging/olpc_dcon/olpc_dcon_xo_1.c:132:
 more undefined references to `cs5535_gpio_set' follow

vim +191 drivers/staging/olpc_dcon/olpc_dcon_xo_1.c

2159fb3729293c Nishad Kamdar  2018-11-07   38  
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   39  static int 
dcon_init_xo_1(struct dcon_priv *dcon)
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   40  {
53c43c5ca13328 Greg Kroah-Hartman 2016-04-04   41   unsigned char lob;
2159fb3729293c Nishad Kamdar  2018-11-07   42   int ret, i;
ae0a6d2017f733 Arnd Bergmann  2019-03-04   43   const struct dcon_gpio 
*pin = _asis[0];
2159fb3729293c Nishad Kamdar  2018-11-07   44  
2159fb3729293c Nishad Kamdar  2018-11-07   45   for (i = 0; i < 
ARRAY_SIZE(gpios_asis); i++) {

[staging:staging-testing 14/19] ERROR: "cs5535_gpio_set" [drivers/staging/olpc_dcon/olpc-dcon.ko] undefined!

2019-09-24 Thread kbuild test robot
tree:   
https://kernel.googlesource.com/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   3f1962fdc723cb48f0ea4e8a733d3ffa88708e98
commit: a3f54564061da0c8c0b60033ff44acfa356b8779 [14/19] staging: olpc_dcon: 
allow simultaneous XO-1 and XO-1.5 support
config: i386-randconfig-c001-201938 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
git checkout a3f54564061da0c8c0b60033ff44acfa356b8779
# save the attached .config to linux build tree
make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All errors (new ones prefixed by >>):

>> ERROR: "cs5535_gpio_set" [drivers/staging/olpc_dcon/olpc-dcon.ko] undefined!
>> ERROR: "cs5535_gpio_set_irq" [drivers/staging/olpc_dcon/olpc-dcon.ko] 
>> undefined!
>> ERROR: "cs5535_gpio_clear" [drivers/staging/olpc_dcon/olpc-dcon.ko] 
>> undefined!
>> ERROR: "cs5535_gpio_setup_event" [drivers/staging/olpc_dcon/olpc-dcon.ko] 
>> undefined!
>> ERROR: "cs5535_gpio_isset" [drivers/staging/olpc_dcon/olpc-dcon.ko] 
>> undefined!

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Dear Friend,

2019-09-24 Thread Clake
 
Dear Friend,

I am Mr Jude Clacke, the director of the accounts & auditing dept .at the Bank 
OF Africa Ouagadougou-west Africa. (B O A) With due respect, I have decided to 
contact you on a business transaction that will be beneficial to both of us.

At the bank's last accounts/auditing evaluations, my staff came across an old 
account which was being maintained by a foreign client who we learnt was among 
the deceased passengers of motor accident.

Since his death, even the members of his family haven't applied for claims over 
this fund and it has been in the safe deposit account until I discovered that 
it cannot be claimed since our client is a foreign national and we are sure 
that he has no next of kin here to file claims over the money. As the director 
of the department, this discovery was brought to my office so as to decide what 
is to be done. I decided to seek ways through which to transfer this money out 
of the bank and out of the country too. 

The total amount in the account is thirty three million five hundred thousand 
dollars (USD 33,500,000.00).with my positions as staffs of the bank, I am 
handicapped because I cannot operate foreign accounts and cannot lay bonafide 
claim over this money. The client was a foreign national and you will only be 
asked to act as his next of kin and I will supply you with all the necessary 
information and bank data to assist you in being able to transfer this money to 
any bank of your choice where this money could be transferred into.

I want to assure you that this transaction is absolutely risk free since I work 
in this bank that is why you should be confident in the success of this 
transaction because you will be updated with information as at when desired.

I will wish you to keep this transaction secret and confidential as I am hoping 
to retire with my share of this money at the end of transaction which will be 
when this money is safety in your account. I will then come over to your 
country for sharing according to the previously agreed percentages. You might 
even have to advise me on possibilities of investment in your country or 
elsewhere of our choice. May God help you to help me to a restive retirement, 
Amen.

Please for further information and enquiries feel free to contact me back 
immediately for more explanation and better understanding through this email 
address (jude.clak...@gmail.com)
 
I am waiting for your urgent response!!!
Thanks and remain blessed.
Mr Jude Clacke
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: NACK: [PATCH] staging: rtl8188eu: remove dead code in do-while conditional step

2019-09-24 Thread Dan Carpenter
This email is fine, but I just want to make sure that you don't think
it's required.  We all assumed that you would send a v2.  I sort of hate
the word NACK as well because it sounds like shouting or ducks and those
are my two pet peeves.

Sometimes  people send a v2 patch without any replies to the original
email and we apply the v1 patch that's the only thing to avoid.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [RESEND PATCH] staging: rtl8192u: Fix indentation for cleaner code

2019-09-24 Thread Greg KH
On Fri, Sep 13, 2019 at 11:31:01PM +0530, Sumera Priyadarsini wrote:
> Fixes indentation for if condition in the file r8190_rtl8256.c for better 
> readability as suggested by Dan Carpenter.

Please wrap your lines at 72 columns.

> 
> Reported-by: Dan Carpenter 
> Signed-off-by: Sumera Priyadarsini 
> ---
>  drivers/staging/rtl8192u/r8190_rtl8256.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Why was this resent?  What changed from the 1st one that caused this to
be required to be resent?

Now you owe me a v2 of this patch with the changelog text fixed up :)

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2] staging: rtl8188eu: remove dead code/vestigial do..while loop

2019-09-24 Thread Connor Kuehl
The local variable 'bcmd_down' is always set to true almost immediately
before the do-while's condition is checked. As a result, !bcmd_down
evaluates to false which short circuits the logical AND operator meaning
that the second operand is never reached and is therefore dead code.

Furthermore, the do..while loop may be removed since it will always only
execute once because 'bcmd_down' is always set to true, so the
!bcmd_down evaluates to false and the loop exits immediately after the
first pass.

Fix this by removing the loop and its condition variables 'bcmd_down'
and 'retry_cnts'

While we're in there, also fix some checkpatch.pl suggestions regarding
spaces around arithmetic operators like '+'

Addresses-Coverity: ("Logically dead code")

Signed-off-by: Connor Kuehl 
---
v1 -> v2:
 - remove the loop and its condition variable bcmd_down
 - address some non-invasive checkpatch.pl suggestions as a result of
   deleting the loop

 drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c | 55 +---
 1 file changed, 24 insertions(+), 31 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c 
b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
index 47352f210c0b..7646167a0b36 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_cmd.c
@@ -47,8 +47,6 @@ static u8 _is_fw_read_cmd_down(struct adapter *adapt, u8 
msgbox_num)
 **/
 static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 
*pCmdBuffer)
 {
-   u8 bcmd_down = false;
-   s32 retry_cnts = 100;
u8 h2c_box_num;
u32 msgbox_addr;
u32 msgbox_ex_addr;
@@ -71,39 +69,34 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 
ElementID, u32 CmdLen, u8 *p
goto exit;
 
/* pay attention to if  race condition happened in  H2C cmd setting. */
-   do {
-   h2c_box_num = adapt->HalData->LastHMEBoxNum;
-
-   if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
-   DBG_88E(" fw read cmd failed...\n");
-   goto exit;
-   }
-
-   *(u8 *)(_cmd) = ElementID;
-
-   if (CmdLen <= 3) {
-   memcpy((u8 *)(_cmd)+1, pCmdBuffer, CmdLen);
-   } else {
-   memcpy((u8 *)(_cmd)+1, pCmdBuffer, 3);
-   ext_cmd_len = CmdLen-3;
-   memcpy((u8 *)(_cmd_ex), pCmdBuffer+3, ext_cmd_len);
+   h2c_box_num = adapt->HalData->LastHMEBoxNum;
 
-   /* Write Ext command */
-   msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num * 
RTL88E_EX_MESSAGE_BOX_SIZE);
-   for (cmd_idx = 0; cmd_idx < ext_cmd_len; cmd_idx++)
-   usb_write8(adapt, msgbox_ex_addr+cmd_idx, *((u8 
*)(_cmd_ex)+cmd_idx));
-   }
-   /*  Write command */
-   msgbox_addr = REG_HMEBOX_0 + (h2c_box_num * 
RTL88E_MESSAGE_BOX_SIZE);
-   for (cmd_idx = 0; cmd_idx < RTL88E_MESSAGE_BOX_SIZE; cmd_idx++)
-   usb_write8(adapt, msgbox_addr+cmd_idx, *((u8 
*)(_cmd)+cmd_idx));
+   if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
+   DBG_88E(" fw read cmd failed...\n");
+   goto exit;
+   }
 
-   bcmd_down = true;
+   *(u8 *)(_cmd) = ElementID;
 
-   adapt->HalData->LastHMEBoxNum =
-   (h2c_box_num+1) % RTL88E_MAX_H2C_BOX_NUMS;
+   if (CmdLen <= 3) {
+   memcpy((u8 *)(_cmd) + 1, pCmdBuffer, CmdLen);
+   } else {
+   memcpy((u8 *)(_cmd) + 1, pCmdBuffer, 3);
+   ext_cmd_len = CmdLen - 3;
+   memcpy((u8 *)(_cmd_ex), pCmdBuffer + 3, ext_cmd_len);
+
+   /* Write Ext command */
+   msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num * 
RTL88E_EX_MESSAGE_BOX_SIZE);
+   for (cmd_idx = 0; cmd_idx < ext_cmd_len; cmd_idx++)
+   usb_write8(adapt, msgbox_ex_addr + cmd_idx, *((u8 
*)(_cmd_ex) + cmd_idx));
+   }
+   /*  Write command */
+   msgbox_addr = REG_HMEBOX_0 + (h2c_box_num * RTL88E_MESSAGE_BOX_SIZE);
+   for (cmd_idx = 0; cmd_idx < RTL88E_MESSAGE_BOX_SIZE; cmd_idx++)
+   usb_write8(adapt, msgbox_addr + cmd_idx, *((u8 *)(_cmd) + 
cmd_idx));
 
-   } while ((!bcmd_down) && (retry_cnts--));
+   adapt->HalData->LastHMEBoxNum =
+   (h2c_box_num + 1) % RTL88E_MAX_H2C_BOX_NUMS;
 
ret = _SUCCESS;
 
-- 
2.17.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


NACK: [PATCH] staging: rtl8188eu: remove dead code in do-while conditional step

2019-09-24 Thread Connor Kuehl

I'm sending a V2 with the loop removed.

Thanks,

Connor
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: rtl8188eu: remove dead code in do-while conditional step

2019-09-24 Thread Dan Carpenter
On Mon, Sep 23, 2019 at 03:38:39PM -0500, Larry Finger wrote:
> This patch is correct; however, the do..while loop will always be executed

s/correct/harmless/.

> once, thus you could remove the loop and the loop variable bcmd_down.
> 
> @greg: If you would prefer a two-step process, then this one is OK.

It has to be done in one step.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: rtl8188eu: remove dead code in do-while conditional step

2019-09-24 Thread Dan Carpenter
On Mon, Sep 23, 2019 at 12:48:06PM -0700, Connor Kuehl wrote:
> @@ -103,7 +102,7 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 
> ElementID, u32 CmdLen, u8 *p
>   adapt->HalData->LastHMEBoxNum =
>   (h2c_box_num+1) % RTL88E_MAX_H2C_BOX_NUMS;
>  
> - } while ((!bcmd_down) && (retry_cnts--));
> + } while (!bcmd_down);

Just get rid of the whole do while loop, because it just goes through
one time.  It doesn't loop.   Get rid of bcmd_down as well.

regards,
dan carpenter

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel