Project

General

Profile

Bug #1108 » tl.c.patch

Dan Kruchinin, 2011-06-13 02:53 AM

View differences:

usr/src/uts/common/io/tl.c Thu Jun 02 19:10:13 2011 -0400 → usr/src/uts/common/io/tl.c Mon Jun 13 06:41:26 2011 +0400
22 22
 * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
23 23
 * Use is subject to license terms.
24 24
 */
25
/*
26
 * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
27
 */
25 28

  
26 29
/*
27 30
 * Multithreaded STREAMS Local Transport Provider.
......
777 780
		-2,		/* ETSDU_size -2 => not supported */
778 781
		-2,		/* CDATA_size -2 => not supported */
779 782
		-2,		/* DDATA_size  -2 => not supported */
780
		-1,		/* ADDR_size -1 => unlimited */
783
		-1,		/* ADDR_size -1 => infinite */
781 784
		-1,		/* OPT_size */
782 785
		0,		/* TIDU_size - fill at run time */
783 786
		T_CLTS,		/* SERV_type */
......
839 842
static void tl_discon_req(mblk_t *, tl_endpt_t *);
840 843
static void tl_capability_req(mblk_t *, tl_endpt_t *);
841 844
static void tl_info_req_ser(mblk_t *, tl_endpt_t *);
845
static void tl_addr_req_ser(mblk_t *, tl_endpt_t *);
842 846
static void tl_info_req(mblk_t *, tl_endpt_t *);
843 847
static void tl_addr_req(mblk_t *, tl_endpt_t *);
844 848
static void tl_connected_cots_addr_req(mblk_t *, tl_endpt_t *);
......
1853 1857
		case T_INFO_REQ:
1854 1858
			tl_proc = tl_info_req_ser;
1855 1859
			break;
1860
		case T_ADDR_REQ:
1861
			tl_proc = tl_addr_req_ser;
1862
			break;
1863

  
1856 1864
		default:
1857 1865
			(void) (STRLOG(TL_ID, tep->te_minor, 1,
1858 1866
			    SL_TRACE|SL_ERROR,
......
4159 4167
	}
4160 4168
}
4161 4169

  
4170
static void
4171
tl_addr_req_ser(mblk_t *mp, tl_endpt_t *tep)
4172
{
4173
	if (!tep->te_closing)
4174
		tl_addr_req(mp, tep);
4175
	else {
4176
		/* XXX: Possibly need to set EBUSY error */
4177
		freemsg(mp);
4178
	}
4179

  
4180
	tl_serializer_exit(tep);
4181
	tl_refrele(tep);
4182
}
4162 4183

  
4163 4184
static void
4164 4185
tl_addr_req(mblk_t *mp, tl_endpt_t *tep)
......
4347 4368
{
4348 4369
	if (! tep->te_closing)
4349 4370
		tl_info_req(mp, tep);
4350
	else
4371
	else {
4372
		/* XXX: Possibly need to set EBUSY error */
4351 4373
		freemsg(mp);
4374
	}
4352 4375

  
4353 4376
	tl_serializer_exit(tep);
4354 4377
	tl_refrele(tep);
    (1-1/1)