uwb: don't use printk_ratelimit() so often
Avoid using printk_ratelimit() in many places because:
  - many were error messages reporting broken hardware (it's useful to
    get all of these).
  - the message itself wasn't useful so the message has been removed.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
			
			
This commit is contained in:
		
							parent
							
								
									92c4d9bd16
								
							
						
					
					
						commit
						8092d7c978
					
				| @ -200,7 +200,6 @@ static struct wusb_dev *wusbhc_cack_add(struct wusbhc *wusbhc, | ||||
| 	u8 dev_addr; | ||||
| 	int result; | ||||
| 
 | ||||
| 	d_fnstart(3, dev, "(wusbhc %p port_idx %d)\n", wusbhc, port_idx); | ||||
| 	/* Is it registered already? */ | ||||
| 	list_for_each_entry(wusb_dev, &wusbhc->cack_list, cack_node) | ||||
| 		if (!memcmp(&wusb_dev->cdid, &dnc->CDID, | ||||
| @ -208,13 +207,8 @@ static struct wusb_dev *wusbhc_cack_add(struct wusbhc *wusbhc, | ||||
| 			return wusb_dev; | ||||
| 	/* We don't have it, create an entry, register it */ | ||||
| 	wusb_dev = wusb_dev_alloc(wusbhc); | ||||
| 	if (wusb_dev == NULL) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			dev_err(dev, "DN CONNECT: no memory to process %s's %s " | ||||
| 				"request\n", pr_cdid, | ||||
| 				new_connection ? "connect" : "reconnect"); | ||||
| 	if (wusb_dev == NULL) | ||||
| 		return NULL; | ||||
| 	} | ||||
| 	wusb_dev_init(wusb_dev); | ||||
| 	wusb_dev->cdid = dnc->CDID; | ||||
| 	wusb_dev->port_idx = port_idx; | ||||
| @ -246,7 +240,6 @@ static struct wusb_dev *wusbhc_cack_add(struct wusbhc *wusbhc, | ||||
| 	list_add_tail(&wusb_dev->cack_node, &wusbhc->cack_list); | ||||
| 	wusbhc->cack_count++; | ||||
| 	wusbhc_fill_cack_ie(wusbhc); | ||||
| 	d_fnend(3, dev, "(wusbhc %p port_idx %d)\n", wusbhc, port_idx); | ||||
| 	return wusb_dev; | ||||
| } | ||||
| 
 | ||||
| @ -334,13 +327,8 @@ void wusbhc_devconnect_ack(struct wusbhc *wusbhc, struct wusb_dn_connect *dnc, | ||||
| 	for (idx = 0; idx < wusbhc->ports_max; idx++) { | ||||
| 		port = wusb_port_by_idx(wusbhc, idx); | ||||
| 		if (port->wusb_dev | ||||
| 		    && !memcmp(&dnc->CDID, &port->wusb_dev->cdid, | ||||
| 			       sizeof(dnc->CDID))) { | ||||
| 			if (printk_ratelimit()) | ||||
| 				dev_err(dev, "Already handling dev %s " | ||||
| 					" (it might be slow)\n", pr_cdid); | ||||
| 		    && memcmp(&dnc->CDID, &port->wusb_dev->cdid, sizeof(dnc->CDID)) == 0) | ||||
| 			goto error_unlock; | ||||
| 		} | ||||
| 	} | ||||
| 	/* Look up those fake ports we have for a free one */ | ||||
| 	for (idx = 0; idx < wusbhc->ports_max; idx++) { | ||||
| @ -494,7 +482,6 @@ int wusbhc_devconnect_auth(struct wusbhc *wusbhc, u8 port_idx) | ||||
|  */ | ||||
| static void __wusbhc_keep_alive(struct wusbhc *wusbhc) | ||||
| { | ||||
| 	int result; | ||||
| 	struct device *dev = wusbhc->dev; | ||||
| 	unsigned cnt; | ||||
| 	struct wusb_dev *wusb_dev; | ||||
| @ -502,7 +489,6 @@ static void __wusbhc_keep_alive(struct wusbhc *wusbhc) | ||||
| 	struct wuie_keep_alive *ie = &wusbhc->keep_alive_ie; | ||||
| 	unsigned keep_alives, old_keep_alives; | ||||
| 
 | ||||
| 	d_fnstart(5, dev, "(wusbhc %p)\n", wusbhc); | ||||
| 	old_keep_alives = ie->hdr.bLength - sizeof(ie->hdr); | ||||
| 	keep_alives = 0; | ||||
| 	for (cnt = 0; | ||||
| @ -531,13 +517,10 @@ static void __wusbhc_keep_alive(struct wusbhc *wusbhc) | ||||
| 		ie->bDeviceAddress[keep_alives++] = 0x7f; | ||||
| 	ie->hdr.bLength = sizeof(ie->hdr) + | ||||
| 		keep_alives*sizeof(ie->bDeviceAddress[0]); | ||||
| 	if (keep_alives > 0) { | ||||
| 		result = wusbhc_mmcie_set(wusbhc, 10, 5, &ie->hdr); | ||||
| 		if (result < 0 && printk_ratelimit()) | ||||
| 			dev_err(dev, "KEEPALIVE: can't set MMC: %d\n", result); | ||||
| 	} else if (old_keep_alives != 0) | ||||
| 	if (keep_alives > 0) | ||||
| 		wusbhc_mmcie_set(wusbhc, 10, 5, &ie->hdr); | ||||
| 	else if (old_keep_alives != 0) | ||||
| 		wusbhc_mmcie_rm(wusbhc, &ie->hdr); | ||||
| 	d_fnend(5, dev, "(wusbhc %p) = void\n", wusbhc); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -93,7 +93,6 @@ int wusbhc_mmcie_set(struct wusbhc *wusbhc, u8 interval, u8 repeat_cnt, | ||||
| 		     struct wuie_hdr *wuie) | ||||
| { | ||||
| 	int result = -ENOBUFS; | ||||
| 	struct device *dev = wusbhc->dev; | ||||
| 	unsigned handle, itr; | ||||
| 
 | ||||
| 	/* Search a handle, taking into account the ordering */ | ||||
| @ -119,11 +118,8 @@ int wusbhc_mmcie_set(struct wusbhc *wusbhc, u8 interval, u8 repeat_cnt, | ||||
| 			if (wusbhc->mmcie[itr] == NULL) | ||||
| 				handle = itr; | ||||
| 		} | ||||
| 		if (handle == ~0) { | ||||
| 			if (printk_ratelimit()) | ||||
| 				dev_err(dev, "MMC handle space exhausted\n"); | ||||
| 		if (handle == ~0) | ||||
| 			goto error_unlock; | ||||
| 		} | ||||
| 	} | ||||
| 	result = (wusbhc->mmcie_add)(wusbhc, interval, repeat_cnt, handle, | ||||
| 				     wuie); | ||||
| @ -143,15 +139,15 @@ EXPORT_SYMBOL_GPL(wusbhc_mmcie_set); | ||||
| void wusbhc_mmcie_rm(struct wusbhc *wusbhc, struct wuie_hdr *wuie) | ||||
| { | ||||
| 	int result; | ||||
| 	struct device *dev = wusbhc->dev; | ||||
| 	unsigned handle, itr; | ||||
| 
 | ||||
| 	mutex_lock(&wusbhc->mmcie_mutex); | ||||
| 	for (itr = 0; itr < wusbhc->mmcies_max; itr++) | ||||
| 	for (itr = 0; itr < wusbhc->mmcies_max; itr++) { | ||||
| 		if (wusbhc->mmcie[itr] == wuie) { | ||||
| 			handle = itr; | ||||
| 			goto found; | ||||
| 		} | ||||
| 	} | ||||
| 	mutex_unlock(&wusbhc->mmcie_mutex); | ||||
| 	return; | ||||
| 
 | ||||
| @ -159,11 +155,7 @@ found: | ||||
| 	result = (wusbhc->mmcie_rm)(wusbhc, handle); | ||||
| 	if (result == 0) | ||||
| 		wusbhc->mmcie[itr] = NULL; | ||||
| 	else if (printk_ratelimit()) | ||||
| 		dev_err(dev, "MMC: Failed to remove IE %p (0x%02x)\n", | ||||
| 			wuie, wuie->bIEIdentifier); | ||||
| 	mutex_unlock(&wusbhc->mmcie_mutex); | ||||
| 	return; | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(wusbhc_mmcie_rm); | ||||
| 
 | ||||
|  | ||||
| @ -410,7 +410,6 @@ int uwbd_evt_handle_rc_beacon(struct uwb_event *evt) | ||||
| 	struct uwb_rc_evt_beacon *be; | ||||
| 	struct uwb_beacon_frame *bf; | ||||
| 	struct uwb_beca_e *bce; | ||||
| 	struct device *dev = &evt->rc->uwb_dev.dev; | ||||
| 	unsigned long last_ts; | ||||
| 
 | ||||
| 	rc = evt->rc; | ||||
| @ -419,14 +418,12 @@ int uwbd_evt_handle_rc_beacon(struct uwb_event *evt) | ||||
| 	if (result < 0) | ||||
| 		return result; | ||||
| 
 | ||||
| 	/* Ignore beacon if it is from an alien. */ | ||||
| 	/* FIXME: handle alien beacons. */ | ||||
| 	if (be->bBeaconType == UWB_RC_BEACON_TYPE_OL_ALIEN || | ||||
| 	    be->bBeaconType == UWB_RC_BEACON_TYPE_NOL_ALIEN) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			dev_err(dev, "BEACON received from ALIEN. Action? \n"); | ||||
| 		result = -ENOSYS; | ||||
| 		return 0; | ||||
| 		return -ENOSYS; | ||||
| 	} | ||||
| 
 | ||||
| 	bf = (struct uwb_beacon_frame *) be->BeaconInfo; | ||||
| 
 | ||||
| 	/*
 | ||||
|  | ||||
| @ -363,22 +363,17 @@ ssize_t uwb_est_get_size(struct uwb_rc *uwb_rc, struct uwb_est *est, | ||||
| 
 | ||||
| 	size = -ENOENT; | ||||
| 	if (event_low >= est->entries) {	/* in range? */ | ||||
| 		if (printk_ratelimit()) | ||||
| 			dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: " | ||||
| 				"event %u out of range\n", | ||||
| 				est, est->type_event_high, est->vendor, | ||||
| 				est->product, est->entries, | ||||
| 				event_low); | ||||
| 		dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: event %u out of range\n", | ||||
| 			est, est->type_event_high, est->vendor, est->product, | ||||
| 			est->entries, event_low); | ||||
| 		goto out; | ||||
| 	} | ||||
| 	size = -ENOENT; | ||||
| 	entry = &est->entry[event_low]; | ||||
| 	if (entry->size == 0 && entry->offset == 0) {	/* unknown? */ | ||||
| 		if (printk_ratelimit()) | ||||
| 			dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: " | ||||
| 				"event %u unknown\n", | ||||
| 				est, est->type_event_high, est->vendor, | ||||
| 				est->product, est->entries, event_low); | ||||
| 		dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: event %u unknown\n", | ||||
| 			est, est->type_event_high, est->vendor,	est->product, | ||||
| 			est->entries, event_low); | ||||
| 		goto out; | ||||
| 	} | ||||
| 	offset = entry->offset;	/* extra fries with that? */ | ||||
| @ -396,11 +391,10 @@ ssize_t uwb_est_get_size(struct uwb_rc *uwb_rc, struct uwb_est *est, | ||||
| 		default: 	 BUG(); | ||||
| 		} | ||||
| 		if (offset + type_size > rceb_size) { | ||||
| 			if (printk_ratelimit()) | ||||
| 				dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: " | ||||
| 					"not enough data to read extra size\n", | ||||
| 					est, est->type_event_high, est->vendor, | ||||
| 					est->product, est->entries); | ||||
| 			dev_err(dev, "EST %p 0x%04x/%04x/%04x[%u]: " | ||||
| 				"not enough data to read extra size\n", | ||||
| 				est, est->type_event_high, est->vendor, | ||||
| 				est->product, est->entries); | ||||
| 			goto out; | ||||
| 		} | ||||
| 		size = entry->size; | ||||
| @ -469,14 +463,12 @@ ssize_t uwb_est_find_size(struct uwb_rc *rc, const struct uwb_rceb *rceb, | ||||
| 		if (size != -ENOENT) | ||||
| 			goto out; | ||||
| 	} | ||||
| 	/* FIXME: downgrade to _dbg() */ | ||||
| 	if (printk_ratelimit()) | ||||
| 		dev_err(dev, "event 0x%02x/%04x/%02x: no handlers available; " | ||||
| 	dev_dbg(dev, "event 0x%02x/%04x/%02x: no handlers available; " | ||||
| 		"RCEB %02x %02x %02x %02x\n", | ||||
| 			(unsigned) rceb->bEventType, | ||||
| 			(unsigned) le16_to_cpu(rceb->wEvent), | ||||
| 			(unsigned) rceb->bEventContext, | ||||
| 			ptr[0], ptr[1], ptr[2], ptr[3]); | ||||
| 		(unsigned) rceb->bEventType, | ||||
| 		(unsigned) le16_to_cpu(rceb->wEvent), | ||||
| 		(unsigned) rceb->bEventContext, | ||||
| 		ptr[0], ptr[1], ptr[2], ptr[3]); | ||||
| 	size = -ENOENT; | ||||
| out: | ||||
| 	read_unlock_irqrestore(&uwb_est_lock, flags); | ||||
|  | ||||
| @ -425,7 +425,7 @@ out: | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /** Wait for the MAC FW to start running */ | ||||
| /* Wait for the MAC FW to start running */ | ||||
| static | ||||
| int i1480_fw_is_running_q(struct i1480 *i1480) | ||||
| { | ||||
| @ -443,8 +443,6 @@ int i1480_fw_is_running_q(struct i1480 *i1480) | ||||
| 		} | ||||
| 		if (*val == 0x55555555UL)	/* fw running? cool */ | ||||
| 			goto out; | ||||
| 		if (printk_ratelimit()) | ||||
| 			d_printf(5, i1480->dev, "read #%d: 0x%08x\n", cnt, *val); | ||||
| 	} | ||||
| 	dev_err(i1480->dev, "Timed out waiting for fw to start\n"); | ||||
| 	result = -ETIMEDOUT; | ||||
|  | ||||
| @ -440,7 +440,7 @@ static void uwb_rc_neh_grok_event(struct uwb_rc *rc, struct uwb_rceb *rceb, size | ||||
| 		neh = uwb_rc_neh_lookup(rc, rceb); | ||||
| 		if (neh) | ||||
| 			uwb_rc_neh_cb(neh, rceb, size); | ||||
| 		else if (printk_ratelimit()) | ||||
| 		else | ||||
| 			dev_warn(dev, "event 0x%02x/%04x/%02x (%zu bytes): nobody cared\n", | ||||
| 				 rceb->bEventType, le16_to_cpu(rceb->wEvent), | ||||
| 				 rceb->bEventContext, size); | ||||
|  | ||||
| @ -188,7 +188,6 @@ static DEFINE_MUTEX(uwbd_event_mutex); | ||||
| static | ||||
| int uwbd_event_handle_urc(struct uwb_event *evt) | ||||
| { | ||||
| 	int result; | ||||
| 	struct uwbd_evt_type_handler *type_table; | ||||
| 	uwbd_evt_handler_f handler; | ||||
| 	u8 type, context; | ||||
| @ -199,41 +198,25 @@ int uwbd_event_handle_urc(struct uwb_event *evt) | ||||
| 	context = evt->notif.rceb->bEventContext; | ||||
| 
 | ||||
| 	if (type > uwbd_evt_type_handlers_len) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			printk(KERN_ERR "UWBD: event type %u: unknown " | ||||
| 			       "(too high)\n", type); | ||||
| 		printk(KERN_ERR "UWBD: event type %u: unknown (too high)\n", type); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	type_table = &uwbd_evt_type_handlers[type]; | ||||
| 	if (type_table->uwbd_events == NULL) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			printk(KERN_ERR "UWBD: event type %u: unknown\n", type); | ||||
| 		printk(KERN_ERR "UWBD: event type %u: unknown\n", type); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	if (event > type_table->size) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			printk(KERN_ERR "UWBD: event %s[%u]: " | ||||
| 			       "unknown (too high)\n", type_table->name, event); | ||||
| 		printk(KERN_ERR "UWBD: event %s[%u]: unknown (too high)\n", | ||||
| 		       type_table->name, event); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	handler = type_table->uwbd_events[event].handler; | ||||
| 	if (handler == NULL) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			printk(KERN_ERR "UWBD: event %s[%u]: unknown\n", | ||||
| 			       type_table->name, event); | ||||
| 		printk(KERN_ERR "UWBD: event %s[%u]: unknown\n", type_table->name, event); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	d_printf(3, NULL, "processing 0x%02x/%04x/%02x, %zu bytes\n", | ||||
| 		 type, event, context, evt->notif.size); | ||||
| 	result = (*handler)(evt); | ||||
| 	if (result < 0) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			printk(KERN_ERR "UWBD: event 0x%02x/%04x/%02x, " | ||||
| 			       "table %s[%u]: handling failed: %d\n", | ||||
| 			       type, event, context, type_table->name, | ||||
| 			       event, result); | ||||
| 	} | ||||
| 	return result; | ||||
| 	return (*handler)(evt); | ||||
| } | ||||
| 
 | ||||
| static void uwbd_event_handle_message(struct uwb_event *evt) | ||||
|  | ||||
| @ -212,7 +212,6 @@ irqreturn_t whcrc_irq_cb(int irq, void *_whcrc) | ||||
| 	struct device *dev = &whcrc->umc_dev->dev; | ||||
| 	u32 urcsts; | ||||
| 
 | ||||
| 	d_fnstart(4, dev, "irq %d _whcrc %p)\n", irq, _whcrc); | ||||
| 	urcsts = le_readl(whcrc->rc_base + URCSTS); | ||||
| 	if (!(urcsts & URCSTS_INT_MASK)) | ||||
| 		return IRQ_NONE; | ||||
| @ -221,13 +220,6 @@ irqreturn_t whcrc_irq_cb(int irq, void *_whcrc) | ||||
| 	d_printf(4, dev, "acked 0x%08x, urcsts 0x%08x\n", | ||||
| 		 le_readl(whcrc->rc_base + URCSTS), urcsts); | ||||
| 
 | ||||
| 	if (whcrc->uwb_rc == NULL) { | ||||
| 		if (printk_ratelimit()) | ||||
| 			dev_dbg(dev, "Received interrupt when not yet " | ||||
| 				"ready!\n"); | ||||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
| 	if (urcsts & URCSTS_HSE) { | ||||
| 		dev_err(dev, "host system error -- hardware halted\n"); | ||||
| 		/* FIXME: do something sensible here */ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user