ソースを参照

usb: gadget: g_ffs: Fix counting of missing_functions

Returning non-zero value from ready callback makes ffs instance
return error from writing strings and enter FFS_CLOSING state.
This means that this this function is not truly ready and
close callback will not be called. This commit fix
ffs_ready_callback() to undo all side effects of this function
in case of error.

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Krzysztof Opasiak 10 年 前
コミット
c41b33c58d
1 ファイル変更3 行追加1 行削除
  1. 3 1
      drivers/usb/gadget/legacy/g_ffs.c

+ 3 - 1
drivers/usb/gadget/legacy/g_ffs.c

@@ -304,8 +304,10 @@ static int functionfs_ready_callback(struct ffs_data *ffs)
 	gfs_registered = true;
 
 	ret = usb_composite_probe(&gfs_driver);
-	if (unlikely(ret < 0))
+	if (unlikely(ret < 0)) {
+		++missing_funcs;
 		gfs_registered = false;
+	}
 	
 	return ret;
 }