From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755692AbcETKN7 (ORCPT ); Fri, 20 May 2016 06:13:59 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:4240 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754409AbcETKN4 (ORCPT ); Fri, 20 May 2016 06:13:56 -0400 X-PGP-Universal: processed; by hqnvupgp07.nvidia.com on Fri, 20 May 2016 03:11:47 -0700 From: Jim Lin To: CC: , , Jim Lin Subject: [PATCH v2 1/1] usb: gadget: f_fs: Fix wrong check on reserved1 of OS_DESC_EXT_COMPAT Date: Fri, 20 May 2016 18:13:19 +0800 Message-ID: <1463739199-1608-1-git-send-email-jilin@nvidia.com> X-Mailer: git-send-email 1.9.1 X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Current __ffs_data_do_os_desc() of f_fs.c will check reserved1 field of OS_DESC_EXT_COMPAT and return -EINVAL if it's 1. But MS OS 1.0 Descriptors http://msdn.microsoft.com/en-us/library/windows/hardware/gg463179.aspx defines that field to be 1. Signed-off-by: Jim Lin --- v2: Rewording on commit log. Original title is usb: gadget: f_fs: Fix kernel panic for SuperSpeed drivers/usb/gadget/function/f_fs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 15b648c..bd969ef 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -2051,7 +2051,7 @@ static int __ffs_data_do_os_desc(enum ffs_os_desc_type type, if (len < sizeof(*d) || d->bFirstInterfaceNumber >= ffs->interfaces_count || - d->Reserved1) + !d->Reserved1) return -EINVAL; for (i = 0; i < ARRAY_SIZE(d->Reserved2); ++i) if (d->Reserved2[i]) -- 1.9.1