From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:1700 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753357Ab0LGEU0 (ORCPT ); Mon, 6 Dec 2010 23:20:26 -0500 Message-ID: <4CFDB606.9000107@codeaurora.org> Date: Tue, 07 Dec 2010 09:50:22 +0530 From: Pavan Kondeti MIME-Version: 1.0 Subject: Re: [RFC 1/2] USB: Notify OTG errors to user space via uevents References: <1291639071-10862-1-git-send-email-pkondeti@codeaurora.org> <20101206155826.GD23214@kroah.com> <20101207035004.GA28875@kroah.com> In-Reply-To: <20101207035004.GA28875@kroah.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-arm-msm-owner@vger.kernel.org List-ID: To: Greg KH Cc: gregkh@suse.de, linux-usb@vger.kernel.org, linux-arm-msm@vger.kernel.org On 12/7/2010 9:20 AM, Greg KH wrote: > On Mon, Dec 06, 2010 at 06:32:30PM -0800, pkondeti@codeaurora.org wrote: >> Hi Greg, >> >>> On Mon, Dec 06, 2010 at 06:07:50PM +0530, Pavankumar Kondeti wrote: >>>> OTG specification mandates no silent failures and all errors should >>>> be reported to the user. The spec itself does not give the exact >>>> error description. But recommends the error message to be self >>>> explanatory. Provide otg_notify_error() utility for USB core and >>>> OTG driver to send the error codes to user space. All the error >>>> code values are described in include/linux/usb/ch9.h. The user space >>>> application can listen to netlink socket and parse the buffer for >>>> "MODULE=OTG" and "ERROR=n", where 'n' contains the error code. >>> >>> How are you going to listen to the netlink socket that is already >>> grabbed by libudev? >>> >> Sorry. I never worked with udev. But I read udev documentation. >> I thought an external script can be invoked by adding a udev rule >> when MODULE=OTG is matched and ERROR value can be accessed >> in the script via env variable. > > So, you created a new kernel/user ABI and never even tried it out to see > how someone would even use it? > > {sigh} > > I'm afraid to ask if you actually tested this code, let alone compiled > the thing... > I have tested this patch with a sample program @ http://www.kernel.org/doc/pending/hotplug.txt on busybox environment where udevd is not running. After seeing your comments, I ran the same program concurrently with udev on Linux box. >>> Please, if you really want to do this, create your own netlink socket, >>> don't create new uevent messages that will just confused the existing >>> tools out there, that's ripe for big problems. >>> >> I have seen examples in drivers sending uevents for notifying docking >> station status (drivers/acpi/dock.c) > > That is when the hardware configuration of the system changes. > >> and when backlight brightness changes >> (drivers/video/backlight/backlight.c). > > Again, hardware configuration status changed. > Documentation/filesystems/gfs2-uevents.txt says OFFLINE uevent is sent upon file system errors. >> So I have taken this approach. > > Please don't, this is NOT the way to get errors from the kernel back out > to userspace, because, as you have noted, this is not how any other > subsystem does it. > Thanks for your feedback. Is there any other way kernel can send errors to user space asynchronously? is /dev/ interface acceptable? -- Sent by a consultant of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.