lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 8 Apr 2021 06:55:33 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
        Zhen Lei <thunder.leizhen@...wei.com>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-usb <linux-usb@...r.kernel.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Hans de Goede <hdegoede@...hat.com>
Subject: Re: [PATCH 1/1] usb: typec: tcpm: remove unused static variable
 'tcpm_altmode_ops'

On 4/8/21 1:28 AM, Heikki Krogerus wrote:
> On Wed, Apr 07, 2021 at 05:15:40PM +0800, Zhen Lei wrote:
>> Fixes the following W=1 kernel build warning:
>>
>> drivers/usb/typec/tcpm/tcpm.c:2107:39: warning: ‘tcpm_altmode_ops’ defined but not used [-Wunused-const-variable=]
>>
>> The reference to the variable 'tcpm_altmode_ops' is deleted by the
>> commit a079973f462a ("usb: typec: tcpm: Remove tcpc_config configuration
>> mechanism").
>>
>> By the way, the static functions referenced only by the variable
>> 'tcpm_altmode_ops' are deleted accordingly.
>>
>> Reported-by: Hulk Robot <hulkci@...wei.com>
>> Signed-off-by: Zhen Lei <thunder.leizhen@...wei.com>
> 
> Oh, I thought this was already fixed. Should this go into the stable
> trees as well?
> 

I thought there was some code supposed to be coming which would make use of it,
but my memory may defeat me. Either case, it is getting old. It it is ever needed,
it can be reintroduced.

Reviewed-by: Guenter Roeck <linux@...ck-us.net>

Guenter

> Acked-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> 
>> ---
>>  drivers/usb/typec/tcpm/tcpm.c | 60 -------------------------------------------
>>  1 file changed, 60 deletions(-)
>>
>> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
>> index ce7af398c7c1c1f..2f89bae29c0c297 100644
>> --- a/drivers/usb/typec/tcpm/tcpm.c
>> +++ b/drivers/usb/typec/tcpm/tcpm.c
>> @@ -1365,14 +1365,6 @@ static void tcpm_queue_vdm(struct tcpm_port *port, const u32 header,
>>  	mod_vdm_delayed_work(port, 0);
>>  }
>>  
>> -static void tcpm_queue_vdm_unlocked(struct tcpm_port *port, const u32 header,
>> -				    const u32 *data, int cnt)
>> -{
>> -	mutex_lock(&port->lock);
>> -	tcpm_queue_vdm(port, header, data, cnt);
>> -	mutex_unlock(&port->lock);
>> -}
>> -
>>  static void svdm_consume_identity(struct tcpm_port *port, const u32 *p, int cnt)
>>  {
>>  	u32 vdo = p[VDO_INDEX_IDH];
>> @@ -1705,8 +1697,6 @@ static void tcpm_handle_vdm_request(struct tcpm_port *port,
>>  	 *
>>  	 * And we also have this ordering:
>>  	 * 1. alt-mode driver takes the alt-mode's lock
>> -	 * 2. alt-mode driver calls tcpm_altmode_enter which takes the
>> -	 *    tcpm port lock
>>  	 *
>>  	 * Dropping our lock here avoids this.
>>  	 */
>> @@ -2060,56 +2050,6 @@ static int tcpm_validate_caps(struct tcpm_port *port, const u32 *pdo,
>>  	return 0;
>>  }
>>  
>> -static int tcpm_altmode_enter(struct typec_altmode *altmode, u32 *vdo)
>> -{
>> -	struct tcpm_port *port = typec_altmode_get_drvdata(altmode);
>> -	int svdm_version;
>> -	u32 header;
>> -
>> -	svdm_version = typec_get_negotiated_svdm_version(port->typec_port);
>> -	if (svdm_version < 0)
>> -		return svdm_version;
>> -
>> -	header = VDO(altmode->svid, vdo ? 2 : 1, svdm_version, CMD_ENTER_MODE);
>> -	header |= VDO_OPOS(altmode->mode);
>> -
>> -	tcpm_queue_vdm_unlocked(port, header, vdo, vdo ? 1 : 0);
>> -	return 0;
>> -}
>> -
>> -static int tcpm_altmode_exit(struct typec_altmode *altmode)
>> -{
>> -	struct tcpm_port *port = typec_altmode_get_drvdata(altmode);
>> -	int svdm_version;
>> -	u32 header;
>> -
>> -	svdm_version = typec_get_negotiated_svdm_version(port->typec_port);
>> -	if (svdm_version < 0)
>> -		return svdm_version;
>> -
>> -	header = VDO(altmode->svid, 1, svdm_version, CMD_EXIT_MODE);
>> -	header |= VDO_OPOS(altmode->mode);
>> -
>> -	tcpm_queue_vdm_unlocked(port, header, NULL, 0);
>> -	return 0;
>> -}
>> -
>> -static int tcpm_altmode_vdm(struct typec_altmode *altmode,
>> -			    u32 header, const u32 *data, int count)
>> -{
>> -	struct tcpm_port *port = typec_altmode_get_drvdata(altmode);
>> -
>> -	tcpm_queue_vdm_unlocked(port, header, data, count - 1);
>> -
>> -	return 0;
>> -}
>> -
>> -static const struct typec_altmode_ops tcpm_altmode_ops = {
>> -	.enter = tcpm_altmode_enter,
>> -	.exit = tcpm_altmode_exit,
>> -	.vdm = tcpm_altmode_vdm,
>> -};
>> -
>>  /*
>>   * PD (data, control) command handling functions
>>   */
>> -- 
>> 1.8.3
>>
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ