On 18. 02. 19, 15:00, David Chen wrote:
> From: David Chen <david.ch...@dell.com>
> 
> RTL8153-BD is used in Dell DA300 type-C dongle.
> It should be added to the whitelist of devices to activate MAC address
> pass through.
> 
> Per confirming with Realtek all devices containing RTL8153-BD should
> activate MAC pass through and there won't use pass through bit on efuse
> like in RTL8153-AD.
> 
> Signed-off-by: David Chen <david.ch...@dell.com>
> ---
>  drivers/net/usb/r8152.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index 60dd1ec1665f..86c8c64fbb0f 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -557,6 +557,7 @@ enum spd_duplex {
>  /* MAC PASSTHRU */
>  #define AD_MASK                      0xfee0
>  #define BND_MASK             0x0004
> +#define BD_MASK                      0x0001
>  #define EFUSE                        0xcfdb
>  #define PASS_THRU_MASK               0x1
>  
> @@ -1176,9 +1177,9 @@ static int vendor_mac_passthru_addr_read(struct r8152 
> *tp, struct sockaddr *sa)
>                       return -ENODEV;
>               }
>       } else {
> -             /* test for RTL8153-BND */
> +             /* test for RTL8153-BND and RTL8153-BD */
>               ocp_data = ocp_read_byte(tp, MCU_TYPE_USB, USB_MISC_1);
> -             if ((ocp_data & BND_MASK) == 0) {
> +             if ((ocp_data & BND_MASK) == 0 && (ocp_data & BD_MASK) == 0) {

Can you ensure that BND won't have the BD's bit set and vice versa? I.e.
should the check be something like:
  if (isBND() && (ocp_data & BND_MASK) == 0 ||
      isBD() && (ocp_data & BD_MASK) == 0)
instead?

thanks,
-- 
js
suse labs

Reply via email to