From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757107AbXD0TAF (ORCPT ); Fri, 27 Apr 2007 15:00:05 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1757073AbXD0S7p (ORCPT ); Fri, 27 Apr 2007 14:59:45 -0400 Received: from ns2.suse.de ([195.135.220.15]:35345 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757035AbXD0S6o (ORCPT ); Fri, 27 Apr 2007 14:58:44 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Cornelia Huck , Kay Sievers , Eric Rannaud , Heiko Carstens , Andrew Morton , Greg Kroah-Hartman Subject: [PATCH 39/46] s390: cio: Delay uevents for subchannels Date: Fri, 27 Apr 2007 11:53:53 -0700 Message-Id: <11777001852549-git-send-email-gregkh@suse.de> X-Mailer: git-send-email 1.5.1.2 In-Reply-To: <11777001803098-git-send-email-gregkh@suse.de> References: <20070427185152.GA17121@kroah.com> <1177700040520-git-send-email-gregkh@suse.de> <11777000433552-git-send-email-gregkh@suse.de> <11777000471977-git-send-email-gregkh@suse.de> <11777000511784-git-send-email-gregkh@suse.de> <11777000552084-git-send-email-gregkh@suse.de> <1177700059319-git-send-email-gregkh@suse.de> <11777000632194-git-send-email-gregkh@suse.de> <11777000663361-git-send-email-gregkh@suse.de> <1177700070961-git-send-email-gregkh@suse.de> <1177700074272-git-send-email-gregkh@suse.de> <11777000773819-git-send-email-gregkh@suse.de> <11777000814075-git-send-email-gregkh@suse.de> <11777000852694-git-send-email-gregkh@suse.de> <11777000881307-git-send-email-gregkh@suse.de> <11777000923797-git-send-email-gregkh@suse.de> <11777000963332-git-send-email-gregkh@suse.de> <11777001002860-git-send-email-gregkh@suse.de> <11777001041847-git-send-email-gregkh@suse.de> <11777001072576-git-send-email-gregkh@suse.de> <11777001102852-git-send-email-gregkh@suse.de> <1177700114535-git-send-email-gregkh@suse.de> <11777001182501-git-send-email-gregkh@suse.de> <11777001222882-git-send-email-gregkh@suse.de> <1177700125350-git-send-email-gregkh@suse.de> <11777001301175-git-send-email-gregkh@suse.de> <11777001333852-git-send-email-gregkh@suse.de> <117770013729-git-send-email-gregkh@suse.de> <11777001413571-git-send-email-gregkh@suse.de> <11777001442148-git-send-email-gregkh@suse.de> <1177700148815-git-send-email-gregkh@suse.de> <11777001521006-git-send-email-gregkh@suse.de> <1177700156641-git-send-email-gregkh@suse.de> <1177700160896-git-send-email-gregkh@suse.de> <11777001642551-git-send-email-gregkh@suse.de> <11777001682584-git-send-email-gregkh@suse.de> <1177700172258-git-send-email-gregkh@suse.de> <11777001773804-git-send-email-gregkh@suse.de> <11777001803098-git-send-email-gregkh@suse.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org From: Cornelia Huck We often have the situation that we register a subchannel and start device recognition, only to find out that the device is not usable after all, which triggers an unregister of the subchannel. This often happens on hundreds of subchannels on a LPAR, leading to a storm of events which aren't of any use. Therefore, use uevent_suppress to delay the KOBJ_ADD uevent for a subchannel until we know that its ccw_device is to be registered. Signed-off-by: Cornelia Huck Cc: Kay Sievers Cc: Eric Rannaud Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- drivers/s390/cio/device.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 0335590..a23ff58 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -871,6 +871,12 @@ io_subchannel_register(struct work_struct *work) } goto out; } + /* + * Now we know this subchannel will stay, we can throw + * our delayed uevent. + */ + sch->dev.uevent_suppress = 0; + kobject_uevent(&sch->dev.kobj, KOBJ_ADD); /* make it known to the system */ ret = ccw_device_register(cdev); if (ret) { -- 1.5.1.2