diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/fcoe/fc_transport_fcoe.c | 77 | ||||
-rw-r--r-- | drivers/scsi/fcoe/fcoe_sw.c | 42 | ||||
-rw-r--r-- | drivers/scsi/fcoe/libfcoe.c | 162 | ||||
-rw-r--r-- | drivers/scsi/libfc/fc_disc.c | 45 | ||||
-rw-r--r-- | drivers/scsi/libfc/fc_fcp.c | 46 | ||||
-rw-r--r-- | drivers/scsi/libfc/fc_lport.c | 77 | ||||
-rw-r--r-- | drivers/scsi/libfc/fc_rport.c | 46 |
7 files changed, 245 insertions, 250 deletions
diff --git a/drivers/scsi/fcoe/fc_transport_fcoe.c b/drivers/scsi/fcoe/fc_transport_fcoe.c index bf7fe6fc0820..0eea4c434c31 100644 --- a/drivers/scsi/fcoe/fc_transport_fcoe.c +++ b/drivers/scsi/fcoe/fc_transport_fcoe.c | |||
@@ -33,19 +33,19 @@ static LIST_HEAD(fcoe_transports); | |||
33 | static DEFINE_MUTEX(fcoe_transports_lock); | 33 | static DEFINE_MUTEX(fcoe_transports_lock); |
34 | 34 | ||
35 | /** | 35 | /** |
36 | * fcoe_transport_default - returns ptr to the default transport fcoe_sw | 36 | * fcoe_transport_default() - Returns ptr to the default transport fcoe_sw |
37 | **/ | 37 | */ |
38 | struct fcoe_transport *fcoe_transport_default(void) | 38 | struct fcoe_transport *fcoe_transport_default(void) |
39 | { | 39 | { |
40 | return &fcoe_sw_transport; | 40 | return &fcoe_sw_transport; |
41 | } | 41 | } |
42 | 42 | ||
43 | /** | 43 | /** |
44 | * fcoe_transport_to_pcidev - get the pci dev from a netdev | 44 | * fcoe_transport_to_pcidev() - get the pci dev from a netdev |
45 | * @netdev: the netdev that pci dev will be retrived from | 45 | * @netdev: the netdev that pci dev will be retrived from |
46 | * | 46 | * |
47 | * Returns: NULL or the corrsponding pci_dev | 47 | * Returns: NULL or the corrsponding pci_dev |
48 | **/ | 48 | */ |
49 | struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev) | 49 | struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev) |
50 | { | 50 | { |
51 | if (!netdev->dev.parent) | 51 | if (!netdev->dev.parent) |
@@ -54,16 +54,14 @@ struct pci_dev *fcoe_transport_pcidev(const struct net_device *netdev) | |||
54 | } | 54 | } |
55 | 55 | ||
56 | /** | 56 | /** |
57 | * fcoe_transport_device_lookup - find out netdev is managed by the | 57 | * fcoe_transport_device_lookup() - Lookup a transport |
58 | * transport | ||
59 | * assign a transport to a device | ||
60 | * @netdev: the netdev the transport to be attached to | 58 | * @netdev: the netdev the transport to be attached to |
61 | * | 59 | * |
62 | * This will look for existing offload driver, if not found, it falls back to | 60 | * This will look for existing offload driver, if not found, it falls back to |
63 | * the default sw hba (fcoe_sw) as its fcoe transport. | 61 | * the default sw hba (fcoe_sw) as its fcoe transport. |
64 | * | 62 | * |
65 | * Returns: 0 for success | 63 | * Returns: 0 for success |
66 | **/ | 64 | */ |
67 | static struct fcoe_transport_internal *fcoe_transport_device_lookup( | 65 | static struct fcoe_transport_internal *fcoe_transport_device_lookup( |
68 | struct fcoe_transport *t, struct net_device *netdev) | 66 | struct fcoe_transport *t, struct net_device *netdev) |
69 | { | 67 | { |
@@ -81,14 +79,14 @@ static struct fcoe_transport_internal *fcoe_transport_device_lookup( | |||
81 | return NULL; | 79 | return NULL; |
82 | } | 80 | } |
83 | /** | 81 | /** |
84 | * fcoe_transport_device_add - assign a transport to a device | 82 | * fcoe_transport_device_add() - Assign a transport to a device |
85 | * @netdev: the netdev the transport to be attached to | 83 | * @netdev: the netdev the transport to be attached to |
86 | * | 84 | * |
87 | * This will look for existing offload driver, if not found, it falls back to | 85 | * This will look for existing offload driver, if not found, it falls back to |
88 | * the default sw hba (fcoe_sw) as its fcoe transport. | 86 | * the default sw hba (fcoe_sw) as its fcoe transport. |
89 | * | 87 | * |
90 | * Returns: 0 for success | 88 | * Returns: 0 for success |
91 | **/ | 89 | */ |
92 | static int fcoe_transport_device_add(struct fcoe_transport *t, | 90 | static int fcoe_transport_device_add(struct fcoe_transport *t, |
93 | struct net_device *netdev) | 91 | struct net_device *netdev) |
94 | { | 92 | { |
@@ -123,14 +121,14 @@ static int fcoe_transport_device_add(struct fcoe_transport *t, | |||
123 | } | 121 | } |
124 | 122 | ||
125 | /** | 123 | /** |
126 | * fcoe_transport_device_remove - remove a device from its transport | 124 | * fcoe_transport_device_remove() - Remove a device from its transport |
127 | * @netdev: the netdev the transport to be attached to | 125 | * @netdev: the netdev the transport to be attached to |
128 | * | 126 | * |
129 | * this removes the device from the transport so the given transport will | 127 | * This removes the device from the transport so the given transport will |
130 | * not manage this device any more | 128 | * not manage this device any more |
131 | * | 129 | * |
132 | * Returns: 0 for success | 130 | * Returns: 0 for success |
133 | **/ | 131 | */ |
134 | static int fcoe_transport_device_remove(struct fcoe_transport *t, | 132 | static int fcoe_transport_device_remove(struct fcoe_transport *t, |
135 | struct net_device *netdev) | 133 | struct net_device *netdev) |
136 | { | 134 | { |
@@ -155,13 +153,13 @@ static int fcoe_transport_device_remove(struct fcoe_transport *t, | |||
155 | } | 153 | } |
156 | 154 | ||
157 | /** | 155 | /** |
158 | * fcoe_transport_device_remove_all - remove all from transport devlist | 156 | * fcoe_transport_device_remove_all() - Remove all from transport devlist |
159 | * | 157 | * |
160 | * this removes the device from the transport so the given transport will | 158 | * This removes the device from the transport so the given transport will |
161 | * not manage this device any more | 159 | * not manage this device any more |
162 | * | 160 | * |
163 | * Returns: 0 for success | 161 | * Returns: 0 for success |
164 | **/ | 162 | */ |
165 | static void fcoe_transport_device_remove_all(struct fcoe_transport *t) | 163 | static void fcoe_transport_device_remove_all(struct fcoe_transport *t) |
166 | { | 164 | { |
167 | struct fcoe_transport_internal *ti, *tmp; | 165 | struct fcoe_transport_internal *ti, *tmp; |
@@ -175,16 +173,16 @@ static void fcoe_transport_device_remove_all(struct fcoe_transport *t) | |||
175 | } | 173 | } |
176 | 174 | ||
177 | /** | 175 | /** |
178 | * fcoe_transport_match - use the bus device match function to match the hw | 176 | * fcoe_transport_match() - Use the bus device match function to match the hw |
179 | * @t: the fcoe transport | 177 | * @t: The fcoe transport to check |
180 | * @netdev: | 178 | * @netdev: The netdev to match against |
181 | * | 179 | * |
182 | * This function is used to check if the givne transport wants to manage the | 180 | * This function is used to check if the given transport wants to manage the |
183 | * input netdev. if the transports implements the match function, it will be | 181 | * input netdev. if the transports implements the match function, it will be |
184 | * called, o.w. we just compare the pci vendor and device id. | 182 | * called, o.w. we just compare the pci vendor and device id. |
185 | * | 183 | * |
186 | * Returns: true for match up | 184 | * Returns: true for match up |
187 | **/ | 185 | */ |
188 | static bool fcoe_transport_match(struct fcoe_transport *t, | 186 | static bool fcoe_transport_match(struct fcoe_transport *t, |
189 | struct net_device *netdev) | 187 | struct net_device *netdev) |
190 | { | 188 | { |
@@ -210,15 +208,15 @@ static bool fcoe_transport_match(struct fcoe_transport *t, | |||
210 | } | 208 | } |
211 | 209 | ||
212 | /** | 210 | /** |
213 | * fcoe_transport_lookup - check if the transport is already registered | 211 | * fcoe_transport_lookup() - Check if the transport is already registered |
214 | * @t: the transport to be looked up | 212 | * @t: the transport to be looked up |
215 | * | 213 | * |
216 | * This compares the parent device (pci) vendor and device id | 214 | * This compares the parent device (pci) vendor and device id |
217 | * | 215 | * |
218 | * Returns: NULL if not found | 216 | * Returns: NULL if not found |
219 | * | 217 | * |
220 | * TODO - return default sw transport if no other transport is found | 218 | * TODO: return default sw transport if no other transport is found |
221 | **/ | 219 | */ |
222 | static struct fcoe_transport *fcoe_transport_lookup( | 220 | static struct fcoe_transport *fcoe_transport_lookup( |
223 | struct net_device *netdev) | 221 | struct net_device *netdev) |
224 | { | 222 | { |
@@ -239,11 +237,11 @@ static struct fcoe_transport *fcoe_transport_lookup( | |||
239 | } | 237 | } |
240 | 238 | ||
241 | /** | 239 | /** |
242 | * fcoe_transport_register - adds a fcoe transport to the fcoe transports list | 240 | * fcoe_transport_register() - Adds a fcoe transport to the fcoe transports list |
243 | * @t: ptr to the fcoe transport to be added | 241 | * @t: ptr to the fcoe transport to be added |
244 | * | 242 | * |
245 | * Returns: 0 for success | 243 | * Returns: 0 for success |
246 | **/ | 244 | */ |
247 | int fcoe_transport_register(struct fcoe_transport *t) | 245 | int fcoe_transport_register(struct fcoe_transport *t) |
248 | { | 246 | { |
249 | struct fcoe_transport *tt; | 247 | struct fcoe_transport *tt; |
@@ -269,11 +267,11 @@ int fcoe_transport_register(struct fcoe_transport *t) | |||
269 | EXPORT_SYMBOL_GPL(fcoe_transport_register); | 267 | EXPORT_SYMBOL_GPL(fcoe_transport_register); |
270 | 268 | ||
271 | /** | 269 | /** |
272 | * fcoe_transport_unregister - remove the tranport fro the fcoe transports list | 270 | * fcoe_transport_unregister() - Remove the tranport fro the fcoe transports list |
273 | * @t: ptr to the fcoe transport to be removed | 271 | * @t: ptr to the fcoe transport to be removed |
274 | * | 272 | * |
275 | * Returns: 0 for success | 273 | * Returns: 0 for success |
276 | **/ | 274 | */ |
277 | int fcoe_transport_unregister(struct fcoe_transport *t) | 275 | int fcoe_transport_unregister(struct fcoe_transport *t) |
278 | { | 276 | { |
279 | struct fcoe_transport *tt, *tmp; | 277 | struct fcoe_transport *tt, *tmp; |
@@ -294,8 +292,8 @@ int fcoe_transport_unregister(struct fcoe_transport *t) | |||
294 | } | 292 | } |
295 | EXPORT_SYMBOL_GPL(fcoe_transport_unregister); | 293 | EXPORT_SYMBOL_GPL(fcoe_transport_unregister); |
296 | 294 | ||
297 | /* | 295 | /** |
298 | * fcoe_load_transport_driver - load an offload driver by alias name | 296 | * fcoe_load_transport_driver() - Load an offload driver by alias name |
299 | * @netdev: the target net device | 297 | * @netdev: the target net device |
300 | * | 298 | * |
301 | * Requests for an offload driver module as the fcoe transport, if fails, it | 299 | * Requests for an offload driver module as the fcoe transport, if fails, it |
@@ -307,7 +305,7 @@ EXPORT_SYMBOL_GPL(fcoe_transport_unregister); | |||
307 | * 3. pure hw fcoe hba may not have netdev | 305 | * 3. pure hw fcoe hba may not have netdev |
308 | * | 306 | * |
309 | * Returns: 0 for success | 307 | * Returns: 0 for success |
310 | **/ | 308 | */ |
311 | int fcoe_load_transport_driver(struct net_device *netdev) | 309 | int fcoe_load_transport_driver(struct net_device *netdev) |
312 | { | 310 | { |
313 | struct pci_dev *pci; | 311 | struct pci_dev *pci; |
@@ -335,14 +333,14 @@ int fcoe_load_transport_driver(struct net_device *netdev) | |||
335 | EXPORT_SYMBOL_GPL(fcoe_load_transport_driver); | 333 | EXPORT_SYMBOL_GPL(fcoe_load_transport_driver); |
336 | 334 | ||
337 | /** | 335 | /** |
338 | * fcoe_transport_attach - load transport to fcoe | 336 | * fcoe_transport_attach() - Load transport to fcoe |
339 | * @netdev: the netdev the transport to be attached to | 337 | * @netdev: the netdev the transport to be attached to |
340 | * | 338 | * |
341 | * This will look for existing offload driver, if not found, it falls back to | 339 | * This will look for existing offload driver, if not found, it falls back to |
342 | * the default sw hba (fcoe_sw) as its fcoe transport. | 340 | * the default sw hba (fcoe_sw) as its fcoe transport. |
343 | * | 341 | * |
344 | * Returns: 0 for success | 342 | * Returns: 0 for success |
345 | **/ | 343 | */ |
346 | int fcoe_transport_attach(struct net_device *netdev) | 344 | int fcoe_transport_attach(struct net_device *netdev) |
347 | { | 345 | { |
348 | struct fcoe_transport *t; | 346 | struct fcoe_transport *t; |
@@ -373,11 +371,11 @@ int fcoe_transport_attach(struct net_device *netdev) | |||
373 | EXPORT_SYMBOL_GPL(fcoe_transport_attach); | 371 | EXPORT_SYMBOL_GPL(fcoe_transport_attach); |
374 | 372 | ||
375 | /** | 373 | /** |
376 | * fcoe_transport_release - unload transport from fcoe | 374 | * fcoe_transport_release() - Unload transport from fcoe |
377 | * @netdev: the net device on which fcoe is to be released | 375 | * @netdev: the net device on which fcoe is to be released |
378 | * | 376 | * |
379 | * Returns: 0 for success | 377 | * Returns: 0 for success |
380 | **/ | 378 | */ |
381 | int fcoe_transport_release(struct net_device *netdev) | 379 | int fcoe_transport_release(struct net_device *netdev) |
382 | { | 380 | { |
383 | struct fcoe_transport *t; | 381 | struct fcoe_transport *t; |
@@ -410,12 +408,12 @@ int fcoe_transport_release(struct net_device *netdev) | |||
410 | EXPORT_SYMBOL_GPL(fcoe_transport_release); | 408 | EXPORT_SYMBOL_GPL(fcoe_transport_release); |
411 | 409 | ||
412 | /** | 410 | /** |
413 | * fcoe_transport_init - initializes fcoe transport layer | 411 | * fcoe_transport_init() - Initializes fcoe transport layer |
414 | * | 412 | * |
415 | * This prepares for the fcoe transport layer | 413 | * This prepares for the fcoe transport layer |
416 | * | 414 | * |
417 | * Returns: none | 415 | * Returns: none |
418 | **/ | 416 | */ |
419 | int __init fcoe_transport_init(void) | 417 | int __init fcoe_transport_init(void) |
420 | { | 418 | { |
421 | INIT_LIST_HEAD(&fcoe_transports); | 419 | INIT_LIST_HEAD(&fcoe_transports); |
@@ -424,12 +422,13 @@ int __init fcoe_transport_init(void) | |||
424 | } | 422 | } |
425 | 423 | ||
426 | /** | 424 | /** |
427 | * fcoe_transport_exit - cleans up the fcoe transport layer | 425 | * fcoe_transport_exit() - Cleans up the fcoe transport layer |
426 | * | ||
428 | * This cleans up the fcoe transport layer. removing any transport on the list, | 427 | * This cleans up the fcoe transport layer. removing any transport on the list, |
429 | * note that the transport destroy func is not called here. | 428 | * note that the transport destroy func is not called here. |
430 | * | 429 | * |
431 | * Returns: none | 430 | * Returns: none |
432 | **/ | 431 | */ |
433 | int __exit fcoe_transport_exit(void) | 432 | int __exit fcoe_transport_exit(void) |
434 | { | 433 | { |
435 | struct fcoe_transport *t, *tmp; | 434 | struct fcoe_transport *t, *tmp; |
diff --git a/drivers/scsi/fcoe/fcoe_sw.c b/drivers/scsi/fcoe/fcoe_sw.c index cf83675a0fb9..007d1fbae808 100644 --- a/drivers/scsi/fcoe/fcoe_sw.c +++ b/drivers/scsi/fcoe/fcoe_sw.c | |||
@@ -104,13 +104,12 @@ static struct scsi_host_template fcoe_sw_shost_template = { | |||
104 | .max_sectors = 0xffff, | 104 | .max_sectors = 0xffff, |
105 | }; | 105 | }; |
106 | 106 | ||
107 | /* | 107 | /** |
108 | * fcoe_sw_lport_config - sets up the fc_lport | 108 | * fcoe_sw_lport_config() - sets up the fc_lport |
109 | * @lp: ptr to the fc_lport | 109 | * @lp: ptr to the fc_lport |
110 | * @shost: ptr to the parent scsi host | 110 | * @shost: ptr to the parent scsi host |
111 | * | 111 | * |
112 | * Returns: 0 for success | 112 | * Returns: 0 for success |
113 | * | ||
114 | */ | 113 | */ |
115 | static int fcoe_sw_lport_config(struct fc_lport *lp) | 114 | static int fcoe_sw_lport_config(struct fc_lport *lp) |
116 | { | 115 | { |
@@ -137,16 +136,14 @@ static int fcoe_sw_lport_config(struct fc_lport *lp) | |||
137 | return 0; | 136 | return 0; |
138 | } | 137 | } |
139 | 138 | ||
140 | /* | 139 | /** |
141 | * fcoe_sw_netdev_config - sets up fcoe_softc for lport and network | 140 | * fcoe_sw_netdev_config() - Set up netdev for SW FCoE |
142 | * related properties | ||
143 | * @lp : ptr to the fc_lport | 141 | * @lp : ptr to the fc_lport |
144 | * @netdev : ptr to the associated netdevice struct | 142 | * @netdev : ptr to the associated netdevice struct |
145 | * | 143 | * |
146 | * Must be called after fcoe_sw_lport_config() as it will use lport mutex | 144 | * Must be called after fcoe_sw_lport_config() as it will use lport mutex |
147 | * | 145 | * |
148 | * Returns : 0 for success | 146 | * Returns : 0 for success |
149 | * | ||
150 | */ | 147 | */ |
151 | static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev) | 148 | static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev) |
152 | { | 149 | { |
@@ -224,16 +221,15 @@ static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev) | |||
224 | return 0; | 221 | return 0; |
225 | } | 222 | } |
226 | 223 | ||
227 | /* | 224 | /** |
228 | * fcoe_sw_shost_config - sets up fc_lport->host | 225 | * fcoe_sw_shost_config() - Sets up fc_lport->host |
229 | * @lp : ptr to the fc_lport | 226 | * @lp : ptr to the fc_lport |
230 | * @shost : ptr to the associated scsi host | 227 | * @shost : ptr to the associated scsi host |
231 | * @dev : device associated to scsi host | 228 | * @dev : device associated to scsi host |
232 | * | 229 | * |
233 | * Must be called after fcoe_sw_lport_config) and fcoe_sw_netdev_config() | 230 | * Must be called after fcoe_sw_lport_config() and fcoe_sw_netdev_config() |
234 | * | 231 | * |
235 | * Returns : 0 for success | 232 | * Returns : 0 for success |
236 | * | ||
237 | */ | 233 | */ |
238 | static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost, | 234 | static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost, |
239 | struct device *dev) | 235 | struct device *dev) |
@@ -261,8 +257,8 @@ static int fcoe_sw_shost_config(struct fc_lport *lp, struct Scsi_Host *shost, | |||
261 | return 0; | 257 | return 0; |
262 | } | 258 | } |
263 | 259 | ||
264 | /* | 260 | /** |
265 | * fcoe_sw_em_config - allocates em for this lport | 261 | * fcoe_sw_em_config() - allocates em for this lport |
266 | * @lp: the port that em is to allocated for | 262 | * @lp: the port that em is to allocated for |
267 | * | 263 | * |
268 | * Returns : 0 on success | 264 | * Returns : 0 on success |
@@ -279,8 +275,8 @@ static inline int fcoe_sw_em_config(struct fc_lport *lp) | |||
279 | return 0; | 275 | return 0; |
280 | } | 276 | } |
281 | 277 | ||
282 | /* | 278 | /** |
283 | * fcoe_sw_destroy - FCoE software HBA tear-down function | 279 | * fcoe_sw_destroy() - FCoE software HBA tear-down function |
284 | * @netdev: ptr to the associated net_device | 280 | * @netdev: ptr to the associated net_device |
285 | * | 281 | * |
286 | * Returns: 0 if link is OK for use by FCoE. | 282 | * Returns: 0 if link is OK for use by FCoE. |
@@ -353,8 +349,8 @@ static struct libfc_function_template fcoe_sw_libfc_fcn_templ = { | |||
353 | .frame_send = fcoe_xmit, | 349 | .frame_send = fcoe_xmit, |
354 | }; | 350 | }; |
355 | 351 | ||
356 | /* | 352 | /** |
357 | * fcoe_sw_create - this function creates the fcoe interface | 353 | * fcoe_sw_create() - this function creates the fcoe interface |
358 | * @netdev: pointer the associated netdevice | 354 | * @netdev: pointer the associated netdevice |
359 | * | 355 | * |
360 | * Creates fc_lport struct and scsi_host for lport, configures lport | 356 | * Creates fc_lport struct and scsi_host for lport, configures lport |
@@ -440,8 +436,8 @@ out_host_put: | |||
440 | return rc; | 436 | return rc; |
441 | } | 437 | } |
442 | 438 | ||
443 | /* | 439 | /** |
444 | * fcoe_sw_match - the fcoe sw transport match function | 440 | * fcoe_sw_match() - The FCoE SW transport match function |
445 | * | 441 | * |
446 | * Returns : false always | 442 | * Returns : false always |
447 | */ | 443 | */ |
@@ -461,8 +457,8 @@ struct fcoe_transport fcoe_sw_transport = { | |||
461 | .device = 0xffff, | 457 | .device = 0xffff, |
462 | }; | 458 | }; |
463 | 459 | ||
464 | /* | 460 | /** |
465 | * fcoe_sw_init - registers fcoe_sw_transport | 461 | * fcoe_sw_init() - Registers fcoe_sw_transport |
466 | * | 462 | * |
467 | * Returns : 0 on success | 463 | * Returns : 0 on success |
468 | */ | 464 | */ |
@@ -480,8 +476,8 @@ int __init fcoe_sw_init(void) | |||
480 | return 0; | 476 | return 0; |
481 | } | 477 | } |
482 | 478 | ||
483 | /* | 479 | /** |
484 | * fcoe_sw_exit - unregisters fcoe_sw_transport | 480 | * fcoe_sw_exit() - Unregisters fcoe_sw_transport |
485 | * | 481 | * |
486 | * Returns : 0 on success | 482 | * Returns : 0 on success |
487 | */ | 483 | */ |
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c index 296071043f55..5e68652985b2 100644 --- a/drivers/scsi/fcoe/libfcoe.c +++ b/drivers/scsi/fcoe/libfcoe.c | |||
@@ -91,13 +91,13 @@ static struct notifier_block fcoe_cpu_notifier = { | |||
91 | }; | 91 | }; |
92 | 92 | ||
93 | /** | 93 | /** |
94 | * fcoe_create_percpu_data - creates the associated cpu data | 94 | * fcoe_create_percpu_data() - creates the associated cpu data |
95 | * @cpu: index for the cpu where fcoe cpu data will be created | 95 | * @cpu: index for the cpu where fcoe cpu data will be created |
96 | * | 96 | * |
97 | * create percpu stats block, from cpu add notifier | 97 | * create percpu stats block, from cpu add notifier |
98 | * | 98 | * |
99 | * Returns: none | 99 | * Returns: none |
100 | **/ | 100 | */ |
101 | static void fcoe_create_percpu_data(int cpu) | 101 | static void fcoe_create_percpu_data(int cpu) |
102 | { | 102 | { |
103 | struct fc_lport *lp; | 103 | struct fc_lport *lp; |
@@ -115,13 +115,13 @@ static void fcoe_create_percpu_data(int cpu) | |||
115 | } | 115 | } |
116 | 116 | ||
117 | /** | 117 | /** |
118 | * fcoe_destroy_percpu_data - destroys the associated cpu data | 118 | * fcoe_destroy_percpu_data() - destroys the associated cpu data |
119 | * @cpu: index for the cpu where fcoe cpu data will destroyed | 119 | * @cpu: index for the cpu where fcoe cpu data will destroyed |
120 | * | 120 | * |
121 | * destroy percpu stats block called by cpu add/remove notifier | 121 | * destroy percpu stats block called by cpu add/remove notifier |
122 | * | 122 | * |
123 | * Retuns: none | 123 | * Retuns: none |
124 | **/ | 124 | */ |
125 | static void fcoe_destroy_percpu_data(int cpu) | 125 | static void fcoe_destroy_percpu_data(int cpu) |
126 | { | 126 | { |
127 | struct fc_lport *lp; | 127 | struct fc_lport *lp; |
@@ -137,7 +137,7 @@ static void fcoe_destroy_percpu_data(int cpu) | |||
137 | } | 137 | } |
138 | 138 | ||
139 | /** | 139 | /** |
140 | * fcoe_cpu_callback - fcoe cpu hotplug event callback | 140 | * fcoe_cpu_callback() - fcoe cpu hotplug event callback |
141 | * @nfb: callback data block | 141 | * @nfb: callback data block |
142 | * @action: event triggering the callback | 142 | * @action: event triggering the callback |
143 | * @hcpu: index for the cpu of this event | 143 | * @hcpu: index for the cpu of this event |
@@ -145,7 +145,7 @@ static void fcoe_destroy_percpu_data(int cpu) | |||
145 | * this creates or destroys per cpu data for fcoe | 145 | * this creates or destroys per cpu data for fcoe |
146 | * | 146 | * |
147 | * Returns NOTIFY_OK always. | 147 | * Returns NOTIFY_OK always. |
148 | **/ | 148 | */ |
149 | static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action, | 149 | static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action, |
150 | void *hcpu) | 150 | void *hcpu) |
151 | { | 151 | { |
@@ -166,7 +166,7 @@ static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action, | |||
166 | #endif /* CONFIG_HOTPLUG_CPU */ | 166 | #endif /* CONFIG_HOTPLUG_CPU */ |
167 | 167 | ||
168 | /** | 168 | /** |
169 | * fcoe_rcv - this is the fcoe receive function called by NET_RX_SOFTIRQ | 169 | * fcoe_rcv() - this is the fcoe receive function called by NET_RX_SOFTIRQ |
170 | * @skb: the receive skb | 170 | * @skb: the receive skb |
171 | * @dev: associated net device | 171 | * @dev: associated net device |
172 | * @ptype: context | 172 | * @ptype: context |
@@ -175,7 +175,7 @@ static int fcoe_cpu_callback(struct notifier_block *nfb, unsigned long action, | |||
175 | * this function will receive the packet and build fc frame and pass it up | 175 | * this function will receive the packet and build fc frame and pass it up |
176 | * | 176 | * |
177 | * Returns: 0 for success | 177 | * Returns: 0 for success |
178 | **/ | 178 | */ |
179 | int fcoe_rcv(struct sk_buff *skb, struct net_device *dev, | 179 | int fcoe_rcv(struct sk_buff *skb, struct net_device *dev, |
180 | struct packet_type *ptype, struct net_device *olddev) | 180 | struct packet_type *ptype, struct net_device *olddev) |
181 | { | 181 | { |
@@ -265,11 +265,11 @@ err2: | |||
265 | EXPORT_SYMBOL_GPL(fcoe_rcv); | 265 | EXPORT_SYMBOL_GPL(fcoe_rcv); |
266 | 266 | ||
267 | /** | 267 | /** |
268 | * fcoe_start_io - pass to netdev to start xmit for fcoe | 268 | * fcoe_start_io() - pass to netdev to start xmit for fcoe |
269 | * @skb: the skb to be xmitted | 269 | * @skb: the skb to be xmitted |
270 | * | 270 | * |
271 | * Returns: 0 for success | 271 | * Returns: 0 for success |
272 | **/ | 272 | */ |
273 | static inline int fcoe_start_io(struct sk_buff *skb) | 273 | static inline int fcoe_start_io(struct sk_buff *skb) |
274 | { | 274 | { |
275 | int rc; | 275 | int rc; |
@@ -283,12 +283,12 @@ static inline int fcoe_start_io(struct sk_buff *skb) | |||
283 | } | 283 | } |
284 | 284 | ||
285 | /** | 285 | /** |
286 | * fcoe_get_paged_crc_eof - in case we need alloc a page for crc_eof | 286 | * fcoe_get_paged_crc_eof() - in case we need alloc a page for crc_eof |
287 | * @skb: the skb to be xmitted | 287 | * @skb: the skb to be xmitted |
288 | * @tlen: total len | 288 | * @tlen: total len |
289 | * | 289 | * |
290 | * Returns: 0 for success | 290 | * Returns: 0 for success |
291 | **/ | 291 | */ |
292 | static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen) | 292 | static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen) |
293 | { | 293 | { |
294 | struct fcoe_percpu_s *fps; | 294 | struct fcoe_percpu_s *fps; |
@@ -326,13 +326,12 @@ static int fcoe_get_paged_crc_eof(struct sk_buff *skb, int tlen) | |||
326 | } | 326 | } |
327 | 327 | ||
328 | /** | 328 | /** |
329 | * fcoe_fc_crc - calculates FC CRC in this fcoe skb | 329 | * fcoe_fc_crc() - calculates FC CRC in this fcoe skb |
330 | * @fp: the fc_frame containg data to be checksummed | 330 | * @fp: the fc_frame containg data to be checksummed |
331 | * | 331 | * |
332 | * This uses crc32() to calculate the crc for fc frame | 332 | * This uses crc32() to calculate the crc for fc frame |
333 | * Return : 32 bit crc | 333 | * Return : 32 bit crc |
334 | * | 334 | */ |
335 | **/ | ||
336 | u32 fcoe_fc_crc(struct fc_frame *fp) | 335 | u32 fcoe_fc_crc(struct fc_frame *fp) |
337 | { | 336 | { |
338 | struct sk_buff *skb = fp_skb(fp); | 337 | struct sk_buff *skb = fp_skb(fp); |
@@ -363,13 +362,12 @@ u32 fcoe_fc_crc(struct fc_frame *fp) | |||
363 | EXPORT_SYMBOL_GPL(fcoe_fc_crc); | 362 | EXPORT_SYMBOL_GPL(fcoe_fc_crc); |
364 | 363 | ||
365 | /** | 364 | /** |
366 | * fcoe_xmit - FCoE frame transmit function | 365 | * fcoe_xmit() - FCoE frame transmit function |
367 | * @lp: the associated local port | 366 | * @lp: the associated local port |
368 | * @fp: the fc_frame to be transmitted | 367 | * @fp: the fc_frame to be transmitted |
369 | * | 368 | * |
370 | * Return : 0 for success | 369 | * Return : 0 for success |
371 | * | 370 | */ |
372 | **/ | ||
373 | int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp) | 371 | int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp) |
374 | { | 372 | { |
375 | int wlen, rc = 0; | 373 | int wlen, rc = 0; |
@@ -511,12 +509,11 @@ int fcoe_xmit(struct fc_lport *lp, struct fc_frame *fp) | |||
511 | } | 509 | } |
512 | EXPORT_SYMBOL_GPL(fcoe_xmit); | 510 | EXPORT_SYMBOL_GPL(fcoe_xmit); |
513 | 511 | ||
514 | /* | 512 | /** |
515 | * fcoe_percpu_receive_thread - recv thread per cpu | 513 | * fcoe_percpu_receive_thread() - recv thread per cpu |
516 | * @arg: ptr to the fcoe per cpu struct | 514 | * @arg: ptr to the fcoe per cpu struct |
517 | * | 515 | * |
518 | * Return: 0 for success | 516 | * Return: 0 for success |
519 | * | ||
520 | */ | 517 | */ |
521 | int fcoe_percpu_receive_thread(void *arg) | 518 | int fcoe_percpu_receive_thread(void *arg) |
522 | { | 519 | { |
@@ -658,7 +655,7 @@ int fcoe_percpu_receive_thread(void *arg) | |||
658 | } | 655 | } |
659 | 656 | ||
660 | /** | 657 | /** |
661 | * fcoe_recv_flogi - flogi receive function | 658 | * fcoe_recv_flogi() - flogi receive function |
662 | * @fc: associated fcoe_softc | 659 | * @fc: associated fcoe_softc |
663 | * @fp: the recieved frame | 660 | * @fp: the recieved frame |
664 | * @sa: the source address of this flogi | 661 | * @sa: the source address of this flogi |
@@ -667,7 +664,7 @@ int fcoe_percpu_receive_thread(void *arg) | |||
667 | * mac address for the initiator, eitehr OUI based or GW based. | 664 | * mac address for the initiator, eitehr OUI based or GW based. |
668 | * | 665 | * |
669 | * Returns: none | 666 | * Returns: none |
670 | **/ | 667 | */ |
671 | static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa) | 668 | static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa) |
672 | { | 669 | { |
673 | struct fc_frame_header *fh; | 670 | struct fc_frame_header *fh; |
@@ -715,7 +712,7 @@ static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa) | |||
715 | } | 712 | } |
716 | 713 | ||
717 | /** | 714 | /** |
718 | * fcoe_watchdog - fcoe timer callback | 715 | * fcoe_watchdog() - fcoe timer callback |
719 | * @vp: | 716 | * @vp: |
720 | * | 717 | * |
721 | * This checks the pending queue length for fcoe and set lport qfull | 718 | * This checks the pending queue length for fcoe and set lport qfull |
@@ -723,7 +720,7 @@ static void fcoe_recv_flogi(struct fcoe_softc *fc, struct fc_frame *fp, u8 *sa) | |||
723 | * fcoe_hostlist. | 720 | * fcoe_hostlist. |
724 | * | 721 | * |
725 | * Returns: 0 for success | 722 | * Returns: 0 for success |
726 | **/ | 723 | */ |
727 | void fcoe_watchdog(ulong vp) | 724 | void fcoe_watchdog(ulong vp) |
728 | { | 725 | { |
729 | struct fc_lport *lp; | 726 | struct fc_lport *lp; |
@@ -750,7 +747,7 @@ void fcoe_watchdog(ulong vp) | |||
750 | 747 | ||
751 | 748 | ||
752 | /** | 749 | /** |
753 | * fcoe_check_wait_queue - put the skb into fcoe pending xmit queue | 750 | * fcoe_check_wait_queue() - put the skb into fcoe pending xmit queue |
754 | * @lp: the fc_port for this skb | 751 | * @lp: the fc_port for this skb |
755 | * @skb: the associated skb to be xmitted | 752 | * @skb: the associated skb to be xmitted |
756 | * | 753 | * |
@@ -764,7 +761,7 @@ void fcoe_watchdog(ulong vp) | |||
764 | * by the next skb transmit. | 761 | * by the next skb transmit. |
765 | * | 762 | * |
766 | * Returns: 0 for success | 763 | * Returns: 0 for success |
767 | **/ | 764 | */ |
768 | static int fcoe_check_wait_queue(struct fc_lport *lp) | 765 | static int fcoe_check_wait_queue(struct fc_lport *lp) |
769 | { | 766 | { |
770 | int rc; | 767 | int rc; |
@@ -797,12 +794,12 @@ static int fcoe_check_wait_queue(struct fc_lport *lp) | |||
797 | } | 794 | } |
798 | 795 | ||
799 | /** | 796 | /** |
800 | * fcoe_insert_wait_queue_head - puts skb to fcoe pending queue head | 797 | * fcoe_insert_wait_queue_head() - puts skb to fcoe pending queue head |
801 | * @lp: the fc_port for this skb | 798 | * @lp: the fc_port for this skb |
802 | * @skb: the associated skb to be xmitted | 799 | * @skb: the associated skb to be xmitted |
803 | * | 800 | * |
804 | * Returns: none | 801 | * Returns: none |
805 | **/ | 802 | */ |
806 | static void fcoe_insert_wait_queue_head(struct fc_lport *lp, | 803 | static void fcoe_insert_wait_queue_head(struct fc_lport *lp, |
807 | struct sk_buff *skb) | 804 | struct sk_buff *skb) |
808 | { | 805 | { |
@@ -815,12 +812,12 @@ static void fcoe_insert_wait_queue_head(struct fc_lport *lp, | |||
815 | } | 812 | } |
816 | 813 | ||
817 | /** | 814 | /** |
818 | * fcoe_insert_wait_queue - put the skb into fcoe pending queue tail | 815 | * fcoe_insert_wait_queue() - put the skb into fcoe pending queue tail |
819 | * @lp: the fc_port for this skb | 816 | * @lp: the fc_port for this skb |
820 | * @skb: the associated skb to be xmitted | 817 | * @skb: the associated skb to be xmitted |
821 | * | 818 | * |
822 | * Returns: none | 819 | * Returns: none |
823 | **/ | 820 | */ |
824 | static void fcoe_insert_wait_queue(struct fc_lport *lp, | 821 | static void fcoe_insert_wait_queue(struct fc_lport *lp, |
825 | struct sk_buff *skb) | 822 | struct sk_buff *skb) |
826 | { | 823 | { |
@@ -833,10 +830,9 @@ static void fcoe_insert_wait_queue(struct fc_lport *lp, | |||
833 | } | 830 | } |
834 | 831 | ||
835 | /** | 832 | /** |
836 | * fcoe_dev_setup - setup link change notification interface | 833 | * fcoe_dev_setup() - setup link change notification interface |
837 | * | 834 | */ |
838 | **/ | 835 | static void fcoe_dev_setup() |
839 | static void fcoe_dev_setup(void) | ||
840 | { | 836 | { |
841 | /* | 837 | /* |
842 | * here setup a interface specific wd time to | 838 | * here setup a interface specific wd time to |
@@ -846,15 +842,15 @@ static void fcoe_dev_setup(void) | |||
846 | } | 842 | } |
847 | 843 | ||
848 | /** | 844 | /** |
849 | * fcoe_dev_setup - cleanup link change notification interface | 845 | * fcoe_dev_setup() - cleanup link change notification interface |
850 | **/ | 846 | */ |
851 | static void fcoe_dev_cleanup(void) | 847 | static void fcoe_dev_cleanup(void) |
852 | { | 848 | { |
853 | unregister_netdevice_notifier(&fcoe_notifier); | 849 | unregister_netdevice_notifier(&fcoe_notifier); |
854 | } | 850 | } |
855 | 851 | ||
856 | /** | 852 | /** |
857 | * fcoe_device_notification - netdev event notification callback | 853 | * fcoe_device_notification() - netdev event notification callback |
858 | * @notifier: context of the notification | 854 | * @notifier: context of the notification |
859 | * @event: type of event | 855 | * @event: type of event |
860 | * @ptr: fixed array for output parsed ifname | 856 | * @ptr: fixed array for output parsed ifname |
@@ -862,7 +858,7 @@ static void fcoe_dev_cleanup(void) | |||
862 | * This function is called by the ethernet driver in case of link change event | 858 | * This function is called by the ethernet driver in case of link change event |
863 | * | 859 | * |
864 | * Returns: 0 for success | 860 | * Returns: 0 for success |
865 | **/ | 861 | */ |
866 | static int fcoe_device_notification(struct notifier_block *notifier, | 862 | static int fcoe_device_notification(struct notifier_block *notifier, |
867 | ulong event, void *ptr) | 863 | ulong event, void *ptr) |
868 | { | 864 | { |
@@ -926,12 +922,12 @@ out: | |||
926 | } | 922 | } |
927 | 923 | ||
928 | /** | 924 | /** |
929 | * fcoe_if_to_netdev - parse a name buffer to get netdev | 925 | * fcoe_if_to_netdev() - parse a name buffer to get netdev |
930 | * @ifname: fixed array for output parsed ifname | 926 | * @ifname: fixed array for output parsed ifname |
931 | * @buffer: incoming buffer to be copied | 927 | * @buffer: incoming buffer to be copied |
932 | * | 928 | * |
933 | * Returns: NULL or ptr to netdeive | 929 | * Returns: NULL or ptr to netdeive |
934 | **/ | 930 | */ |
935 | static struct net_device *fcoe_if_to_netdev(const char *buffer) | 931 | static struct net_device *fcoe_if_to_netdev(const char *buffer) |
936 | { | 932 | { |
937 | char *cp; | 933 | char *cp; |
@@ -948,11 +944,11 @@ static struct net_device *fcoe_if_to_netdev(const char *buffer) | |||
948 | } | 944 | } |
949 | 945 | ||
950 | /** | 946 | /** |
951 | * fcoe_netdev_to_module_owner - finds out the nic drive moddule of the netdev | 947 | * fcoe_netdev_to_module_owner() - finds out the nic drive moddule of the netdev |
952 | * @netdev: the target netdev | 948 | * @netdev: the target netdev |
953 | * | 949 | * |
954 | * Returns: ptr to the struct module, NULL for failure | 950 | * Returns: ptr to the struct module, NULL for failure |
955 | **/ | 951 | */ |
956 | static struct module *fcoe_netdev_to_module_owner( | 952 | static struct module *fcoe_netdev_to_module_owner( |
957 | const struct net_device *netdev) | 953 | const struct net_device *netdev) |
958 | { | 954 | { |
@@ -972,12 +968,14 @@ static struct module *fcoe_netdev_to_module_owner( | |||
972 | } | 968 | } |
973 | 969 | ||
974 | /** | 970 | /** |
975 | * fcoe_ethdrv_get - holds the nic driver module by try_module_get() for | 971 | * fcoe_ethdrv_get() - Hold the Ethernet driver |
976 | * the corresponding netdev. | ||
977 | * @netdev: the target netdev | 972 | * @netdev: the target netdev |
978 | * | 973 | * |
974 | * Holds the Ethernet driver module by try_module_get() for | ||
975 | * the corresponding netdev. | ||
976 | * | ||
979 | * Returns: 0 for succsss | 977 | * Returns: 0 for succsss |
980 | **/ | 978 | */ |
981 | static int fcoe_ethdrv_get(const struct net_device *netdev) | 979 | static int fcoe_ethdrv_get(const struct net_device *netdev) |
982 | { | 980 | { |
983 | struct module *owner; | 981 | struct module *owner; |
@@ -992,12 +990,14 @@ static int fcoe_ethdrv_get(const struct net_device *netdev) | |||
992 | } | 990 | } |
993 | 991 | ||
994 | /** | 992 | /** |
995 | * fcoe_ethdrv_get - releases the nic driver module by module_put for | 993 | * fcoe_ethdrv_put() - Release the Ethernet driver |
996 | * the corresponding netdev. | ||
997 | * @netdev: the target netdev | 994 | * @netdev: the target netdev |
998 | * | 995 | * |
996 | * Releases the Ethernet driver module by module_put for | ||
997 | * the corresponding netdev. | ||
998 | * | ||
999 | * Returns: 0 for succsss | 999 | * Returns: 0 for succsss |
1000 | **/ | 1000 | */ |
1001 | static int fcoe_ethdrv_put(const struct net_device *netdev) | 1001 | static int fcoe_ethdrv_put(const struct net_device *netdev) |
1002 | { | 1002 | { |
1003 | struct module *owner; | 1003 | struct module *owner; |
@@ -1013,12 +1013,12 @@ static int fcoe_ethdrv_put(const struct net_device *netdev) | |||
1013 | } | 1013 | } |
1014 | 1014 | ||
1015 | /** | 1015 | /** |
1016 | * fcoe_destroy- handles the destroy from sysfs | 1016 | * fcoe_destroy() - handles the destroy from sysfs |
1017 | * @buffer: expcted to be a eth if name | 1017 | * @buffer: expcted to be a eth if name |
1018 | * @kp: associated kernel param | 1018 | * @kp: associated kernel param |
1019 | * | 1019 | * |
1020 | * Returns: 0 for success | 1020 | * Returns: 0 for success |
1021 | **/ | 1021 | */ |
1022 | static int fcoe_destroy(const char *buffer, struct kernel_param *kp) | 1022 | static int fcoe_destroy(const char *buffer, struct kernel_param *kp) |
1023 | { | 1023 | { |
1024 | int rc; | 1024 | int rc; |
@@ -1051,12 +1051,12 @@ out_nodev: | |||
1051 | } | 1051 | } |
1052 | 1052 | ||
1053 | /** | 1053 | /** |
1054 | * fcoe_create - handles the create call from sysfs | 1054 | * fcoe_create() - Handles the create call from sysfs |
1055 | * @buffer: expcted to be a eth if name | 1055 | * @buffer: expcted to be a eth if name |
1056 | * @kp: associated kernel param | 1056 | * @kp: associated kernel param |
1057 | * | 1057 | * |
1058 | * Returns: 0 for success | 1058 | * Returns: 0 for success |
1059 | **/ | 1059 | */ |
1060 | static int fcoe_create(const char *buffer, struct kernel_param *kp) | 1060 | static int fcoe_create(const char *buffer, struct kernel_param *kp) |
1061 | { | 1061 | { |
1062 | int rc; | 1062 | int rc; |
@@ -1097,8 +1097,8 @@ module_param_call(destroy, fcoe_destroy, NULL, NULL, S_IWUSR); | |||
1097 | __MODULE_PARM_TYPE(destroy, "string"); | 1097 | __MODULE_PARM_TYPE(destroy, "string"); |
1098 | MODULE_PARM_DESC(destroy, "Destroy fcoe port"); | 1098 | MODULE_PARM_DESC(destroy, "Destroy fcoe port"); |
1099 | 1099 | ||
1100 | /* | 1100 | /** |
1101 | * fcoe_link_ok - check if link is ok for the fc_lport | 1101 | * fcoe_link_ok() - Check if link is ok for the fc_lport |
1102 | * @lp: ptr to the fc_lport | 1102 | * @lp: ptr to the fc_lport |
1103 | * | 1103 | * |
1104 | * Any permanently-disqualifying conditions have been previously checked. | 1104 | * Any permanently-disqualifying conditions have been previously checked. |
@@ -1142,9 +1142,8 @@ int fcoe_link_ok(struct fc_lport *lp) | |||
1142 | } | 1142 | } |
1143 | EXPORT_SYMBOL_GPL(fcoe_link_ok); | 1143 | EXPORT_SYMBOL_GPL(fcoe_link_ok); |
1144 | 1144 | ||
1145 | /* | 1145 | /** |
1146 | * fcoe_percpu_clean - frees skb of the corresponding lport from the per | 1146 | * fcoe_percpu_clean() - Clear the pending skbs for an lport |
1147 | * cpu queue. | ||
1148 | * @lp: the fc_lport | 1147 | * @lp: the fc_lport |
1149 | */ | 1148 | */ |
1150 | void fcoe_percpu_clean(struct fc_lport *lp) | 1149 | void fcoe_percpu_clean(struct fc_lport *lp) |
@@ -1178,11 +1177,11 @@ void fcoe_percpu_clean(struct fc_lport *lp) | |||
1178 | EXPORT_SYMBOL_GPL(fcoe_percpu_clean); | 1177 | EXPORT_SYMBOL_GPL(fcoe_percpu_clean); |
1179 | 1178 | ||
1180 | /** | 1179 | /** |
1181 | * fcoe_clean_pending_queue - dequeue skb and free it | 1180 | * fcoe_clean_pending_queue() - Dequeue a skb and free it |
1182 | * @lp: the corresponding fc_lport | 1181 | * @lp: the corresponding fc_lport |
1183 | * | 1182 | * |
1184 | * Returns: none | 1183 | * Returns: none |
1185 | **/ | 1184 | */ |
1186 | void fcoe_clean_pending_queue(struct fc_lport *lp) | 1185 | void fcoe_clean_pending_queue(struct fc_lport *lp) |
1187 | { | 1186 | { |
1188 | struct fcoe_softc *fc = lport_priv(lp); | 1187 | struct fcoe_softc *fc = lport_priv(lp); |
@@ -1199,12 +1198,12 @@ void fcoe_clean_pending_queue(struct fc_lport *lp) | |||
1199 | EXPORT_SYMBOL_GPL(fcoe_clean_pending_queue); | 1198 | EXPORT_SYMBOL_GPL(fcoe_clean_pending_queue); |
1200 | 1199 | ||
1201 | /** | 1200 | /** |
1202 | * libfc_host_alloc - allocate a Scsi_Host with room for the fc_lport | 1201 | * libfc_host_alloc() - Allocate a Scsi_Host with room for the fc_lport |
1203 | * @sht: ptr to the scsi host templ | 1202 | * @sht: ptr to the scsi host templ |
1204 | * @priv_size: size of private data after fc_lport | 1203 | * @priv_size: size of private data after fc_lport |
1205 | * | 1204 | * |
1206 | * Returns: ptr to Scsi_Host | 1205 | * Returns: ptr to Scsi_Host |
1207 | * TODO - to libfc? | 1206 | * TODO: to libfc? |
1208 | */ | 1207 | */ |
1209 | static inline struct Scsi_Host *libfc_host_alloc( | 1208 | static inline struct Scsi_Host *libfc_host_alloc( |
1210 | struct scsi_host_template *sht, int priv_size) | 1209 | struct scsi_host_template *sht, int priv_size) |
@@ -1213,7 +1212,7 @@ static inline struct Scsi_Host *libfc_host_alloc( | |||
1213 | } | 1212 | } |
1214 | 1213 | ||
1215 | /** | 1214 | /** |
1216 | * fcoe_host_alloc - allocate a Scsi_Host with room for the fcoe_softc | 1215 | * fcoe_host_alloc() - Allocate a Scsi_Host with room for the fcoe_softc |
1217 | * @sht: ptr to the scsi host templ | 1216 | * @sht: ptr to the scsi host templ |
1218 | * @priv_size: size of private data after fc_lport | 1217 | * @priv_size: size of private data after fc_lport |
1219 | * | 1218 | * |
@@ -1225,8 +1224,8 @@ struct Scsi_Host *fcoe_host_alloc(struct scsi_host_template *sht, int priv_size) | |||
1225 | } | 1224 | } |
1226 | EXPORT_SYMBOL_GPL(fcoe_host_alloc); | 1225 | EXPORT_SYMBOL_GPL(fcoe_host_alloc); |
1227 | 1226 | ||
1228 | /* | 1227 | /** |
1229 | * fcoe_reset - resets the fcoe | 1228 | * fcoe_reset() - Resets the fcoe |
1230 | * @shost: shost the reset is from | 1229 | * @shost: shost the reset is from |
1231 | * | 1230 | * |
1232 | * Returns: always 0 | 1231 | * Returns: always 0 |
@@ -1239,8 +1238,8 @@ int fcoe_reset(struct Scsi_Host *shost) | |||
1239 | } | 1238 | } |
1240 | EXPORT_SYMBOL_GPL(fcoe_reset); | 1239 | EXPORT_SYMBOL_GPL(fcoe_reset); |
1241 | 1240 | ||
1242 | /* | 1241 | /** |
1243 | * fcoe_wwn_from_mac - converts 48-bit IEEE MAC address to 64-bit FC WWN. | 1242 | * fcoe_wwn_from_mac() - Converts 48-bit IEEE MAC address to 64-bit FC WWN. |
1244 | * @mac: mac address | 1243 | * @mac: mac address |
1245 | * @scheme: check port | 1244 | * @scheme: check port |
1246 | * @port: port indicator for converting | 1245 | * @port: port indicator for converting |
@@ -1279,8 +1278,9 @@ u64 fcoe_wwn_from_mac(unsigned char mac[MAX_ADDR_LEN], | |||
1279 | return wwn; | 1278 | return wwn; |
1280 | } | 1279 | } |
1281 | EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac); | 1280 | EXPORT_SYMBOL_GPL(fcoe_wwn_from_mac); |
1282 | /* | 1281 | |
1283 | * fcoe_hostlist_lookup_softc - find the corresponding lport by a given device | 1282 | /** |
1283 | * fcoe_hostlist_lookup_softc() - find the corresponding lport by a given device | ||
1284 | * @device: this is currently ptr to net_device | 1284 | * @device: this is currently ptr to net_device |
1285 | * | 1285 | * |
1286 | * Returns: NULL or the located fcoe_softc | 1286 | * Returns: NULL or the located fcoe_softc |
@@ -1301,8 +1301,8 @@ static struct fcoe_softc *fcoe_hostlist_lookup_softc( | |||
1301 | return NULL; | 1301 | return NULL; |
1302 | } | 1302 | } |
1303 | 1303 | ||
1304 | /* | 1304 | /** |
1305 | * fcoe_hostlist_lookup - find the corresponding lport by netdev | 1305 | * fcoe_hostlist_lookup() - Find the corresponding lport by netdev |
1306 | * @netdev: ptr to net_device | 1306 | * @netdev: ptr to net_device |
1307 | * | 1307 | * |
1308 | * Returns: 0 for success | 1308 | * Returns: 0 for success |
@@ -1317,8 +1317,8 @@ struct fc_lport *fcoe_hostlist_lookup(const struct net_device *netdev) | |||
1317 | } | 1317 | } |
1318 | EXPORT_SYMBOL_GPL(fcoe_hostlist_lookup); | 1318 | EXPORT_SYMBOL_GPL(fcoe_hostlist_lookup); |
1319 | 1319 | ||
1320 | /* | 1320 | /** |
1321 | * fcoe_hostlist_add - add a lport to lports list | 1321 | * fcoe_hostlist_add() - Add a lport to lports list |
1322 | * @lp: ptr to the fc_lport to badded | 1322 | * @lp: ptr to the fc_lport to badded |
1323 | * | 1323 | * |
1324 | * Returns: 0 for success | 1324 | * Returns: 0 for success |
@@ -1338,8 +1338,8 @@ int fcoe_hostlist_add(const struct fc_lport *lp) | |||
1338 | } | 1338 | } |
1339 | EXPORT_SYMBOL_GPL(fcoe_hostlist_add); | 1339 | EXPORT_SYMBOL_GPL(fcoe_hostlist_add); |
1340 | 1340 | ||
1341 | /* | 1341 | /** |
1342 | * fcoe_hostlist_remove - remove a lport from lports list | 1342 | * fcoe_hostlist_remove() - remove a lport from lports list |
1343 | * @lp: ptr to the fc_lport to badded | 1343 | * @lp: ptr to the fc_lport to badded |
1344 | * | 1344 | * |
1345 | * Returns: 0 for success | 1345 | * Returns: 0 for success |
@@ -1359,12 +1359,12 @@ int fcoe_hostlist_remove(const struct fc_lport *lp) | |||
1359 | EXPORT_SYMBOL_GPL(fcoe_hostlist_remove); | 1359 | EXPORT_SYMBOL_GPL(fcoe_hostlist_remove); |
1360 | 1360 | ||
1361 | /** | 1361 | /** |
1362 | * fcoe_libfc_config - sets up libfc related properties for lport | 1362 | * fcoe_libfc_config() - sets up libfc related properties for lport |
1363 | * @lp: ptr to the fc_lport | 1363 | * @lp: ptr to the fc_lport |
1364 | * @tt: libfc function template | 1364 | * @tt: libfc function template |
1365 | * | 1365 | * |
1366 | * Returns : 0 for success | 1366 | * Returns : 0 for success |
1367 | **/ | 1367 | */ |
1368 | int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt) | 1368 | int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt) |
1369 | { | 1369 | { |
1370 | /* Set the function pointers set by the LLDD */ | 1370 | /* Set the function pointers set by the LLDD */ |
@@ -1382,14 +1382,14 @@ int fcoe_libfc_config(struct fc_lport *lp, struct libfc_function_template *tt) | |||
1382 | EXPORT_SYMBOL_GPL(fcoe_libfc_config); | 1382 | EXPORT_SYMBOL_GPL(fcoe_libfc_config); |
1383 | 1383 | ||
1384 | /** | 1384 | /** |
1385 | * fcoe_init - fcoe module loading initialization | 1385 | * fcoe_init() - fcoe module loading initialization |
1386 | * | 1386 | * |
1387 | * Initialization routine | 1387 | * Initialization routine |
1388 | * 1. Will create fc transport software structure | 1388 | * 1. Will create fc transport software structure |
1389 | * 2. initialize the link list of port information structure | 1389 | * 2. initialize the link list of port information structure |
1390 | * | 1390 | * |
1391 | * Returns 0 on success, negative on failure | 1391 | * Returns 0 on success, negative on failure |
1392 | **/ | 1392 | */ |
1393 | static int __init fcoe_init(void) | 1393 | static int __init fcoe_init(void) |
1394 | { | 1394 | { |
1395 | int cpu; | 1395 | int cpu; |
@@ -1452,10 +1452,10 @@ static int __init fcoe_init(void) | |||
1452 | module_init(fcoe_init); | 1452 | module_init(fcoe_init); |
1453 | 1453 | ||
1454 | /** | 1454 | /** |
1455 | * fcoe_exit - fcoe module unloading cleanup | 1455 | * fcoe_exit() - fcoe module unloading cleanup |
1456 | * | 1456 | * |
1457 | * Returns 0 on success, negative on failure | 1457 | * Returns 0 on success, negative on failure |
1458 | **/ | 1458 | */ |
1459 | static void __exit fcoe_exit(void) | 1459 | static void __exit fcoe_exit(void) |
1460 | { | 1460 | { |
1461 | u32 idx; | 1461 | u32 idx; |
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c index cfbce893941a..e57556ea5b48 100644 --- a/drivers/scsi/libfc/fc_disc.c +++ b/drivers/scsi/libfc/fc_disc.c | |||
@@ -64,7 +64,7 @@ static void fc_disc_single(struct fc_disc *, struct fc_disc_port *); | |||
64 | static void fc_disc_restart(struct fc_disc *); | 64 | static void fc_disc_restart(struct fc_disc *); |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * fc_disc_lookup_rport - lookup a remote port by port_id | 67 | * fc_disc_lookup_rport() - lookup a remote port by port_id |
68 | * @lport: Fibre Channel host port instance | 68 | * @lport: Fibre Channel host port instance |
69 | * @port_id: remote port port_id to match | 69 | * @port_id: remote port port_id to match |
70 | */ | 70 | */ |
@@ -92,7 +92,7 @@ struct fc_rport *fc_disc_lookup_rport(const struct fc_lport *lport, | |||
92 | } | 92 | } |
93 | 93 | ||
94 | /** | 94 | /** |
95 | * fc_disc_stop_rports - delete all the remote ports associated with the lport | 95 | * fc_disc_stop_rports() - delete all the remote ports associated with the lport |
96 | * @disc: The discovery job to stop rports on | 96 | * @disc: The discovery job to stop rports on |
97 | * | 97 | * |
98 | * Locking Note: This function expects that the lport mutex is locked before | 98 | * Locking Note: This function expects that the lport mutex is locked before |
@@ -117,7 +117,7 @@ void fc_disc_stop_rports(struct fc_disc *disc) | |||
117 | } | 117 | } |
118 | 118 | ||
119 | /** | 119 | /** |
120 | * fc_disc_rport_callback - Event handler for rport events | 120 | * fc_disc_rport_callback() - Event handler for rport events |
121 | * @lport: The lport which is receiving the event | 121 | * @lport: The lport which is receiving the event |
122 | * @rport: The rport which the event has occured on | 122 | * @rport: The rport which the event has occured on |
123 | * @event: The event that occured | 123 | * @event: The event that occured |
@@ -151,7 +151,7 @@ static void fc_disc_rport_callback(struct fc_lport *lport, | |||
151 | } | 151 | } |
152 | 152 | ||
153 | /** | 153 | /** |
154 | * fc_disc_recv_rscn_req - Handle Registered State Change Notification (RSCN) | 154 | * fc_disc_recv_rscn_req() - Handle Registered State Change Notification (RSCN) |
155 | * @sp: Current sequence of the RSCN exchange | 155 | * @sp: Current sequence of the RSCN exchange |
156 | * @fp: RSCN Frame | 156 | * @fp: RSCN Frame |
157 | * @lport: Fibre Channel host port instance | 157 | * @lport: Fibre Channel host port instance |
@@ -265,7 +265,7 @@ reject: | |||
265 | } | 265 | } |
266 | 266 | ||
267 | /** | 267 | /** |
268 | * fc_disc_recv_req - Handle incoming requests | 268 | * fc_disc_recv_req() - Handle incoming requests |
269 | * @sp: Current sequence of the request exchange | 269 | * @sp: Current sequence of the request exchange |
270 | * @fp: The frame | 270 | * @fp: The frame |
271 | * @lport: The FC local port | 271 | * @lport: The FC local port |
@@ -294,7 +294,7 @@ static void fc_disc_recv_req(struct fc_seq *sp, struct fc_frame *fp, | |||
294 | } | 294 | } |
295 | 295 | ||
296 | /** | 296 | /** |
297 | * fc_disc_restart - Restart discovery | 297 | * fc_disc_restart() - Restart discovery |
298 | * @lport: FC discovery context | 298 | * @lport: FC discovery context |
299 | * | 299 | * |
300 | * Locking Note: This function expects that the disc mutex | 300 | * Locking Note: This function expects that the disc mutex |
@@ -322,7 +322,7 @@ static void fc_disc_restart(struct fc_disc *disc) | |||
322 | } | 322 | } |
323 | 323 | ||
324 | /** | 324 | /** |
325 | * fc_disc_start - Fibre Channel Target discovery | 325 | * fc_disc_start() - Fibre Channel Target discovery |
326 | * @lport: FC local port | 326 | * @lport: FC local port |
327 | * | 327 | * |
328 | * Returns non-zero if discovery cannot be started. | 328 | * Returns non-zero if discovery cannot be started. |
@@ -383,7 +383,7 @@ static struct fc_rport_operations fc_disc_rport_ops = { | |||
383 | }; | 383 | }; |
384 | 384 | ||
385 | /** | 385 | /** |
386 | * fc_disc_new_target - Handle new target found by discovery | 386 | * fc_disc_new_target() - Handle new target found by discovery |
387 | * @lport: FC local port | 387 | * @lport: FC local port |
388 | * @rport: The previous FC remote port (NULL if new remote port) | 388 | * @rport: The previous FC remote port (NULL if new remote port) |
389 | * @ids: Identifiers for the new FC remote port | 389 | * @ids: Identifiers for the new FC remote port |
@@ -446,7 +446,7 @@ static int fc_disc_new_target(struct fc_disc *disc, | |||
446 | } | 446 | } |
447 | 447 | ||
448 | /** | 448 | /** |
449 | * fc_disc_del_target - Delete a target | 449 | * fc_disc_del_target() - Delete a target |
450 | * @disc: FC discovery context | 450 | * @disc: FC discovery context |
451 | * @rport: The remote port to be removed | 451 | * @rport: The remote port to be removed |
452 | */ | 452 | */ |
@@ -459,7 +459,7 @@ static void fc_disc_del_target(struct fc_disc *disc, struct fc_rport *rport) | |||
459 | } | 459 | } |
460 | 460 | ||
461 | /** | 461 | /** |
462 | * fc_disc_done - Discovery has been completed | 462 | * fc_disc_done() - Discovery has been completed |
463 | * @disc: FC discovery context | 463 | * @disc: FC discovery context |
464 | */ | 464 | */ |
465 | static void fc_disc_done(struct fc_disc *disc) | 465 | static void fc_disc_done(struct fc_disc *disc) |
@@ -479,7 +479,7 @@ static void fc_disc_done(struct fc_disc *disc) | |||
479 | } | 479 | } |
480 | 480 | ||
481 | /** | 481 | /** |
482 | * fc_disc_error - Handle error on dNS request | 482 | * fc_disc_error() - Handle error on dNS request |
483 | * @disc: FC discovery context | 483 | * @disc: FC discovery context |
484 | * @fp: The frame pointer | 484 | * @fp: The frame pointer |
485 | */ | 485 | */ |
@@ -519,7 +519,7 @@ static void fc_disc_error(struct fc_disc *disc, struct fc_frame *fp) | |||
519 | } | 519 | } |
520 | 520 | ||
521 | /** | 521 | /** |
522 | * fc_disc_gpn_ft_req - Send Get Port Names by FC-4 type (GPN_FT) request | 522 | * fc_disc_gpn_ft_req() - Send Get Port Names by FC-4 type (GPN_FT) request |
523 | * @lport: FC discovery context | 523 | * @lport: FC discovery context |
524 | * | 524 | * |
525 | * Locking Note: This function expects that the disc_mutex is locked | 525 | * Locking Note: This function expects that the disc_mutex is locked |
@@ -553,7 +553,7 @@ err: | |||
553 | } | 553 | } |
554 | 554 | ||
555 | /** | 555 | /** |
556 | * fc_disc_gpn_ft_parse - Parse the list of IDs and names resulting from a request | 556 | * fc_disc_gpn_ft_parse() - Parse the list of IDs and names resulting from a request |
557 | * @lport: Fibre Channel host port instance | 557 | * @lport: Fibre Channel host port instance |
558 | * @buf: GPN_FT response buffer | 558 | * @buf: GPN_FT response buffer |
559 | * @len: size of response buffer | 559 | * @len: size of response buffer |
@@ -658,7 +658,10 @@ static int fc_disc_gpn_ft_parse(struct fc_disc *disc, void *buf, size_t len) | |||
658 | return error; | 658 | return error; |
659 | } | 659 | } |
660 | 660 | ||
661 | /* | 661 | /** |
662 | * fc_disc_timeout() - Retry handler for the disc component | ||
663 | * @work: Structure holding disc obj that needs retry discovery | ||
664 | * | ||
662 | * Handle retry of memory allocation for remote ports. | 665 | * Handle retry of memory allocation for remote ports. |
663 | */ | 666 | */ |
664 | static void fc_disc_timeout(struct work_struct *work) | 667 | static void fc_disc_timeout(struct work_struct *work) |
@@ -673,7 +676,7 @@ static void fc_disc_timeout(struct work_struct *work) | |||
673 | } | 676 | } |
674 | 677 | ||
675 | /** | 678 | /** |
676 | * fc_disc_gpn_ft_resp - Handle a response frame from Get Port Names (GPN_FT) | 679 | * fc_disc_gpn_ft_resp() - Handle a response frame from Get Port Names (GPN_FT) |
677 | * @sp: Current sequence of GPN_FT exchange | 680 | * @sp: Current sequence of GPN_FT exchange |
678 | * @fp: response frame | 681 | * @fp: response frame |
679 | * @lp_arg: Fibre Channel host port instance | 682 | * @lp_arg: Fibre Channel host port instance |
@@ -712,9 +715,7 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp, | |||
712 | fr_len(fp)); | 715 | fr_len(fp)); |
713 | } else if (ntohs(cp->ct_cmd) == FC_FS_ACC) { | 716 | } else if (ntohs(cp->ct_cmd) == FC_FS_ACC) { |
714 | 717 | ||
715 | /* | 718 | /* Accepted, parse the response. */ |
716 | * Accepted. Parse response. | ||
717 | */ | ||
718 | buf = cp + 1; | 719 | buf = cp + 1; |
719 | len -= sizeof(*cp); | 720 | len -= sizeof(*cp); |
720 | } else if (ntohs(cp->ct_cmd) == FC_FS_RJT) { | 721 | } else if (ntohs(cp->ct_cmd) == FC_FS_RJT) { |
@@ -746,7 +747,7 @@ static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp, | |||
746 | } | 747 | } |
747 | 748 | ||
748 | /** | 749 | /** |
749 | * fc_disc_single - Discover the directory information for a single target | 750 | * fc_disc_single() - Discover the directory information for a single target |
750 | * @lport: FC local port | 751 | * @lport: FC local port |
751 | * @dp: The port to rediscover | 752 | * @dp: The port to rediscover |
752 | * | 753 | * |
@@ -782,7 +783,7 @@ out: | |||
782 | } | 783 | } |
783 | 784 | ||
784 | /** | 785 | /** |
785 | * fc_disc_stop - Stop discovery for a given lport | 786 | * fc_disc_stop() - Stop discovery for a given lport |
786 | * @lport: The lport that discovery should stop for | 787 | * @lport: The lport that discovery should stop for |
787 | */ | 788 | */ |
788 | void fc_disc_stop(struct fc_lport *lport) | 789 | void fc_disc_stop(struct fc_lport *lport) |
@@ -796,7 +797,7 @@ void fc_disc_stop(struct fc_lport *lport) | |||
796 | } | 797 | } |
797 | 798 | ||
798 | /** | 799 | /** |
799 | * fc_disc_stop_final - Stop discovery for a given lport | 800 | * fc_disc_stop_final() - Stop discovery for a given lport |
800 | * @lport: The lport that discovery should stop for | 801 | * @lport: The lport that discovery should stop for |
801 | * | 802 | * |
802 | * This function will block until discovery has been | 803 | * This function will block until discovery has been |
@@ -809,7 +810,7 @@ void fc_disc_stop_final(struct fc_lport *lport) | |||
809 | } | 810 | } |
810 | 811 | ||
811 | /** | 812 | /** |
812 | * fc_disc_init - Initialize the discovery block | 813 | * fc_disc_init() - Initialize the discovery block |
813 | * @lport: FC local port | 814 | * @lport: FC local port |
814 | */ | 815 | */ |
815 | int fc_disc_init(struct fc_lport *lport) | 816 | int fc_disc_init(struct fc_lport *lport) |
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c index ecc72612c385..2a631d7dbcec 100644 --- a/drivers/scsi/libfc/fc_fcp.c +++ b/drivers/scsi/libfc/fc_fcp.c | |||
@@ -161,7 +161,7 @@ static struct fc_fcp_pkt *fc_fcp_pkt_alloc(struct fc_lport *lp, gfp_t gfp) | |||
161 | } | 161 | } |
162 | 162 | ||
163 | /** | 163 | /** |
164 | * fc_fcp_pkt_release - release hold on scsi_pkt packet | 164 | * fc_fcp_pkt_release() - release hold on scsi_pkt packet |
165 | * @fsp: fcp packet struct | 165 | * @fsp: fcp packet struct |
166 | * | 166 | * |
167 | * This is used by upper layer scsi driver. | 167 | * This is used by upper layer scsi driver. |
@@ -183,8 +183,7 @@ static void fc_fcp_pkt_hold(struct fc_fcp_pkt *fsp) | |||
183 | } | 183 | } |
184 | 184 | ||
185 | /** | 185 | /** |
186 | * fc_fcp_pkt_destory - release hold on scsi_pkt packet | 186 | * fc_fcp_pkt_destory() - release hold on scsi_pkt packet |
187 | * | ||
188 | * @seq: exchange sequence | 187 | * @seq: exchange sequence |
189 | * @fsp: fcp packet struct | 188 | * @fsp: fcp packet struct |
190 | * | 189 | * |
@@ -199,7 +198,7 @@ static void fc_fcp_pkt_destroy(struct fc_seq *seq, void *fsp) | |||
199 | } | 198 | } |
200 | 199 | ||
201 | /** | 200 | /** |
202 | * fc_fcp_lock_pkt - lock a packet and get a ref to it. | 201 | * fc_fcp_lock_pkt() - lock a packet and get a ref to it. |
203 | * @fsp: fcp packet | 202 | * @fsp: fcp packet |
204 | * | 203 | * |
205 | * We should only return error if we return a command to scsi-ml before | 204 | * We should only return error if we return a command to scsi-ml before |
@@ -291,9 +290,7 @@ static void fc_fcp_recv_data(struct fc_fcp_pkt *fsp, struct fc_frame *fp) | |||
291 | buf = fc_frame_payload_get(fp, 0); | 290 | buf = fc_frame_payload_get(fp, 0); |
292 | 291 | ||
293 | if (offset + len > fsp->data_len) { | 292 | if (offset + len > fsp->data_len) { |
294 | /* | 293 | /* this should never happen */ |
295 | * this should never happen | ||
296 | */ | ||
297 | if ((fr_flags(fp) & FCPHF_CRC_UNCHECKED) && | 294 | if ((fr_flags(fp) & FCPHF_CRC_UNCHECKED) && |
298 | fc_frame_crc_check(fp)) | 295 | fc_frame_crc_check(fp)) |
299 | goto crc_err; | 296 | goto crc_err; |
@@ -387,8 +384,8 @@ crc_err: | |||
387 | fc_fcp_complete_locked(fsp); | 384 | fc_fcp_complete_locked(fsp); |
388 | } | 385 | } |
389 | 386 | ||
390 | /* | 387 | /** |
391 | * fc_fcp_send_data - Send SCSI data to target. | 388 | * fc_fcp_send_data() - Send SCSI data to target. |
392 | * @fsp: ptr to fc_fcp_pkt | 389 | * @fsp: ptr to fc_fcp_pkt |
393 | * @sp: ptr to this sequence | 390 | * @sp: ptr to this sequence |
394 | * @offset: starting offset for this data request | 391 | * @offset: starting offset for this data request |
@@ -610,8 +607,8 @@ static void fc_fcp_abts_resp(struct fc_fcp_pkt *fsp, struct fc_frame *fp) | |||
610 | } | 607 | } |
611 | } | 608 | } |
612 | 609 | ||
613 | /* | 610 | /** |
614 | * fc_fcp_reduce_can_queue - drop can_queue | 611 | * fc_fcp_reduce_can_queue() - drop can_queue |
615 | * @lp: lport to drop queueing for | 612 | * @lp: lport to drop queueing for |
616 | * | 613 | * |
617 | * If we are getting memory allocation failures, then we may | 614 | * If we are getting memory allocation failures, then we may |
@@ -642,9 +639,11 @@ done: | |||
642 | spin_unlock_irqrestore(lp->host->host_lock, flags); | 639 | spin_unlock_irqrestore(lp->host->host_lock, flags); |
643 | } | 640 | } |
644 | 641 | ||
645 | /* | 642 | /** |
646 | * exch mgr calls this routine to process scsi | 643 | * fc_fcp_recv() - Reveive FCP frames |
647 | * exchanges. | 644 | * @seq: The sequence the frame is on |
645 | * @fp: The FC frame | ||
646 | * @arg: The related FCP packet | ||
648 | * | 647 | * |
649 | * Return : None | 648 | * Return : None |
650 | * Context : called from Soft IRQ context | 649 | * Context : called from Soft IRQ context |
@@ -832,7 +831,7 @@ err: | |||
832 | } | 831 | } |
833 | 832 | ||
834 | /** | 833 | /** |
835 | * fc_fcp_complete_locked - complete processing of a fcp packet | 834 | * fc_fcp_complete_locked() - complete processing of a fcp packet |
836 | * @fsp: fcp packet | 835 | * @fsp: fcp packet |
837 | * | 836 | * |
838 | * This function may sleep if a timer is pending. The packet lock must be | 837 | * This function may sleep if a timer is pending. The packet lock must be |
@@ -900,7 +899,7 @@ static void fc_fcp_cleanup_cmd(struct fc_fcp_pkt *fsp, int error) | |||
900 | } | 899 | } |
901 | 900 | ||
902 | /** | 901 | /** |
903 | * fc_fcp_cleanup_each_cmd - run fn on each active command | 902 | * fc_fcp_cleanup_each_cmd() - Cleanup active commads |
904 | * @lp: logical port | 903 | * @lp: logical port |
905 | * @id: target id | 904 | * @id: target id |
906 | * @lun: lun | 905 | * @lun: lun |
@@ -952,7 +951,7 @@ static void fc_fcp_abort_io(struct fc_lport *lp) | |||
952 | } | 951 | } |
953 | 952 | ||
954 | /** | 953 | /** |
955 | * fc_fcp_pkt_send - send a fcp packet to the lower level. | 954 | * fc_fcp_pkt_send() - send a fcp packet to the lower level. |
956 | * @lp: fc lport | 955 | * @lp: fc lport |
957 | * @fsp: fc packet. | 956 | * @fsp: fc packet. |
958 | * | 957 | * |
@@ -1727,7 +1726,7 @@ out: | |||
1727 | EXPORT_SYMBOL(fc_queuecommand); | 1726 | EXPORT_SYMBOL(fc_queuecommand); |
1728 | 1727 | ||
1729 | /** | 1728 | /** |
1730 | * fc_io_compl - Handle responses for completed commands | 1729 | * fc_io_compl() - Handle responses for completed commands |
1731 | * @fsp: scsi packet | 1730 | * @fsp: scsi packet |
1732 | * | 1731 | * |
1733 | * Translates a error to a Linux SCSI error. | 1732 | * Translates a error to a Linux SCSI error. |
@@ -1857,7 +1856,7 @@ static void fc_io_compl(struct fc_fcp_pkt *fsp) | |||
1857 | } | 1856 | } |
1858 | 1857 | ||
1859 | /** | 1858 | /** |
1860 | * fc_fcp_complete - complete processing of a fcp packet | 1859 | * fc_fcp_complete() - complete processing of a fcp packet |
1861 | * @fsp: fcp packet | 1860 | * @fsp: fcp packet |
1862 | * | 1861 | * |
1863 | * This function may sleep if a fsp timer is pending. | 1862 | * This function may sleep if a fsp timer is pending. |
@@ -1874,9 +1873,10 @@ void fc_fcp_complete(struct fc_fcp_pkt *fsp) | |||
1874 | EXPORT_SYMBOL(fc_fcp_complete); | 1873 | EXPORT_SYMBOL(fc_fcp_complete); |
1875 | 1874 | ||
1876 | /** | 1875 | /** |
1877 | * fc_eh_abort - Abort a command...from scsi host template | 1876 | * fc_eh_abort() - Abort a command |
1878 | * @sc_cmd: scsi command to abort | 1877 | * @sc_cmd: scsi command to abort |
1879 | * | 1878 | * |
1879 | * From scsi host template. | ||
1880 | * send ABTS to the target device and wait for the response | 1880 | * send ABTS to the target device and wait for the response |
1881 | * sc_cmd is the pointer to the command to be aborted. | 1881 | * sc_cmd is the pointer to the command to be aborted. |
1882 | */ | 1882 | */ |
@@ -1920,7 +1920,7 @@ release_pkt: | |||
1920 | EXPORT_SYMBOL(fc_eh_abort); | 1920 | EXPORT_SYMBOL(fc_eh_abort); |
1921 | 1921 | ||
1922 | /** | 1922 | /** |
1923 | * fc_eh_device_reset: Reset a single LUN | 1923 | * fc_eh_device_reset() Reset a single LUN |
1924 | * @sc_cmd: scsi command | 1924 | * @sc_cmd: scsi command |
1925 | * | 1925 | * |
1926 | * Set from scsi host template to send tm cmd to the target and wait for the | 1926 | * Set from scsi host template to send tm cmd to the target and wait for the |
@@ -1973,7 +1973,7 @@ out: | |||
1973 | EXPORT_SYMBOL(fc_eh_device_reset); | 1973 | EXPORT_SYMBOL(fc_eh_device_reset); |
1974 | 1974 | ||
1975 | /** | 1975 | /** |
1976 | * fc_eh_host_reset - The reset function will reset the ports on the host. | 1976 | * fc_eh_host_reset() - The reset function will reset the ports on the host. |
1977 | * @sc_cmd: scsi command | 1977 | * @sc_cmd: scsi command |
1978 | */ | 1978 | */ |
1979 | int fc_eh_host_reset(struct scsi_cmnd *sc_cmd) | 1979 | int fc_eh_host_reset(struct scsi_cmnd *sc_cmd) |
@@ -1999,7 +1999,7 @@ int fc_eh_host_reset(struct scsi_cmnd *sc_cmd) | |||
1999 | EXPORT_SYMBOL(fc_eh_host_reset); | 1999 | EXPORT_SYMBOL(fc_eh_host_reset); |
2000 | 2000 | ||
2001 | /** | 2001 | /** |
2002 | * fc_slave_alloc - configure queue depth | 2002 | * fc_slave_alloc() - configure queue depth |
2003 | * @sdev: scsi device | 2003 | * @sdev: scsi device |
2004 | * | 2004 | * |
2005 | * Configures queue depth based on host's cmd_per_len. If not set | 2005 | * Configures queue depth based on host's cmd_per_len. If not set |
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c index c00de2244c78..2ae50a1188e6 100644 --- a/drivers/scsi/libfc/fc_lport.c +++ b/drivers/scsi/libfc/fc_lport.c | |||
@@ -139,7 +139,7 @@ static int fc_frame_drop(struct fc_lport *lport, struct fc_frame *fp) | |||
139 | } | 139 | } |
140 | 140 | ||
141 | /** | 141 | /** |
142 | * fc_lport_rport_callback - Event handler for rport events | 142 | * fc_lport_rport_callback() - Event handler for rport events |
143 | * @lport: The lport which is receiving the event | 143 | * @lport: The lport which is receiving the event |
144 | * @rport: The rport which the event has occured on | 144 | * @rport: The rport which the event has occured on |
145 | * @event: The event that occured | 145 | * @event: The event that occured |
@@ -195,7 +195,7 @@ static void fc_lport_rport_callback(struct fc_lport *lport, | |||
195 | } | 195 | } |
196 | 196 | ||
197 | /** | 197 | /** |
198 | * fc_lport_state - Return a string which represents the lport's state | 198 | * fc_lport_state() - Return a string which represents the lport's state |
199 | * @lport: The lport whose state is to converted to a string | 199 | * @lport: The lport whose state is to converted to a string |
200 | */ | 200 | */ |
201 | static const char *fc_lport_state(struct fc_lport *lport) | 201 | static const char *fc_lport_state(struct fc_lport *lport) |
@@ -209,7 +209,7 @@ static const char *fc_lport_state(struct fc_lport *lport) | |||
209 | } | 209 | } |
210 | 210 | ||
211 | /** | 211 | /** |
212 | * fc_lport_ptp_setup - Create an rport for point-to-point mode | 212 | * fc_lport_ptp_setup() - Create an rport for point-to-point mode |
213 | * @lport: The lport to attach the ptp rport to | 213 | * @lport: The lport to attach the ptp rport to |
214 | * @fid: The FID of the ptp rport | 214 | * @fid: The FID of the ptp rport |
215 | * @remote_wwpn: The WWPN of the ptp rport | 215 | * @remote_wwpn: The WWPN of the ptp rport |
@@ -351,7 +351,7 @@ static void fc_lport_add_fc4_type(struct fc_lport *lport, enum fc_fh_type type) | |||
351 | } | 351 | } |
352 | 352 | ||
353 | /** | 353 | /** |
354 | * fc_lport_recv_rlir_req - Handle received Registered Link Incident Report. | 354 | * fc_lport_recv_rlir_req() - Handle received Registered Link Incident Report. |
355 | * @lport: Fibre Channel local port recieving the RLIR | 355 | * @lport: Fibre Channel local port recieving the RLIR |
356 | * @sp: current sequence in the RLIR exchange | 356 | * @sp: current sequence in the RLIR exchange |
357 | * @fp: RLIR request frame | 357 | * @fp: RLIR request frame |
@@ -370,7 +370,7 @@ static void fc_lport_recv_rlir_req(struct fc_seq *sp, struct fc_frame *fp, | |||
370 | } | 370 | } |
371 | 371 | ||
372 | /** | 372 | /** |
373 | * fc_lport_recv_echo_req - Handle received ECHO request | 373 | * fc_lport_recv_echo_req() - Handle received ECHO request |
374 | * @lport: Fibre Channel local port recieving the ECHO | 374 | * @lport: Fibre Channel local port recieving the ECHO |
375 | * @sp: current sequence in the ECHO exchange | 375 | * @sp: current sequence in the ECHO exchange |
376 | * @fp: ECHO request frame | 376 | * @fp: ECHO request frame |
@@ -412,7 +412,7 @@ static void fc_lport_recv_echo_req(struct fc_seq *sp, struct fc_frame *in_fp, | |||
412 | } | 412 | } |
413 | 413 | ||
414 | /** | 414 | /** |
415 | * fc_lport_recv_echo_req - Handle received Request Node ID data request | 415 | * fc_lport_recv_echo_req() - Handle received Request Node ID data request |
416 | * @lport: Fibre Channel local port recieving the RNID | 416 | * @lport: Fibre Channel local port recieving the RNID |
417 | * @sp: current sequence in the RNID exchange | 417 | * @sp: current sequence in the RNID exchange |
418 | * @fp: RNID request frame | 418 | * @fp: RNID request frame |
@@ -479,7 +479,7 @@ static void fc_lport_recv_rnid_req(struct fc_seq *sp, struct fc_frame *in_fp, | |||
479 | } | 479 | } |
480 | 480 | ||
481 | /** | 481 | /** |
482 | * fc_lport_recv_adisc_req - Handle received Address Discovery Request | 482 | * fc_lport_recv_adisc_req() - Handle received Address Discovery Request |
483 | * @lport: Fibre Channel local port recieving the ADISC | 483 | * @lport: Fibre Channel local port recieving the ADISC |
484 | * @sp: current sequence in the ADISC exchange | 484 | * @sp: current sequence in the ADISC exchange |
485 | * @fp: ADISC request frame | 485 | * @fp: ADISC request frame |
@@ -529,7 +529,7 @@ static void fc_lport_recv_adisc_req(struct fc_seq *sp, struct fc_frame *in_fp, | |||
529 | } | 529 | } |
530 | 530 | ||
531 | /** | 531 | /** |
532 | * fc_lport_recv_logo_req - Handle received fabric LOGO request | 532 | * fc_lport_recv_logo_req() - Handle received fabric LOGO request |
533 | * @lport: Fibre Channel local port recieving the LOGO | 533 | * @lport: Fibre Channel local port recieving the LOGO |
534 | * @sp: current sequence in the LOGO exchange | 534 | * @sp: current sequence in the LOGO exchange |
535 | * @fp: LOGO request frame | 535 | * @fp: LOGO request frame |
@@ -546,7 +546,7 @@ static void fc_lport_recv_logo_req(struct fc_seq *sp, struct fc_frame *fp, | |||
546 | } | 546 | } |
547 | 547 | ||
548 | /** | 548 | /** |
549 | * fc_fabric_login - Start the lport state machine | 549 | * fc_fabric_login() - Start the lport state machine |
550 | * @lport: The lport that should log into the fabric | 550 | * @lport: The lport that should log into the fabric |
551 | * | 551 | * |
552 | * Locking Note: This function should not be called | 552 | * Locking Note: This function should not be called |
@@ -568,7 +568,7 @@ int fc_fabric_login(struct fc_lport *lport) | |||
568 | EXPORT_SYMBOL(fc_fabric_login); | 568 | EXPORT_SYMBOL(fc_fabric_login); |
569 | 569 | ||
570 | /** | 570 | /** |
571 | * fc_linkup - Handler for transport linkup events | 571 | * fc_linkup() - Handler for transport linkup events |
572 | * @lport: The lport whose link is up | 572 | * @lport: The lport whose link is up |
573 | */ | 573 | */ |
574 | void fc_linkup(struct fc_lport *lport) | 574 | void fc_linkup(struct fc_lport *lport) |
@@ -588,7 +588,7 @@ void fc_linkup(struct fc_lport *lport) | |||
588 | EXPORT_SYMBOL(fc_linkup); | 588 | EXPORT_SYMBOL(fc_linkup); |
589 | 589 | ||
590 | /** | 590 | /** |
591 | * fc_linkdown - Handler for transport linkdown events | 591 | * fc_linkdown() - Handler for transport linkdown events |
592 | * @lport: The lport whose link is down | 592 | * @lport: The lport whose link is down |
593 | */ | 593 | */ |
594 | void fc_linkdown(struct fc_lport *lport) | 594 | void fc_linkdown(struct fc_lport *lport) |
@@ -607,12 +607,12 @@ void fc_linkdown(struct fc_lport *lport) | |||
607 | EXPORT_SYMBOL(fc_linkdown); | 607 | EXPORT_SYMBOL(fc_linkdown); |
608 | 608 | ||
609 | /** | 609 | /** |
610 | * fc_fabric_logoff - Logout of the fabric | 610 | * fc_fabric_logoff() - Logout of the fabric |
611 | * @lport: fc_lport pointer to logoff the fabric | 611 | * @lport: fc_lport pointer to logoff the fabric |
612 | * | 612 | * |
613 | * Return value: | 613 | * Return value: |
614 | * 0 for success, -1 for failure | 614 | * 0 for success, -1 for failure |
615 | **/ | 615 | */ |
616 | int fc_fabric_logoff(struct fc_lport *lport) | 616 | int fc_fabric_logoff(struct fc_lport *lport) |
617 | { | 617 | { |
618 | lport->tt.disc_stop_final(lport); | 618 | lport->tt.disc_stop_final(lport); |
@@ -625,7 +625,7 @@ int fc_fabric_logoff(struct fc_lport *lport) | |||
625 | EXPORT_SYMBOL(fc_fabric_logoff); | 625 | EXPORT_SYMBOL(fc_fabric_logoff); |
626 | 626 | ||
627 | /** | 627 | /** |
628 | * fc_lport_destroy - unregister a fc_lport | 628 | * fc_lport_destroy() - unregister a fc_lport |
629 | * @lport: fc_lport pointer to unregister | 629 | * @lport: fc_lport pointer to unregister |
630 | * | 630 | * |
631 | * Return value: | 631 | * Return value: |
@@ -635,7 +635,7 @@ EXPORT_SYMBOL(fc_fabric_logoff); | |||
635 | * clean-up all the allocated memory | 635 | * clean-up all the allocated memory |
636 | * and free up other system resources. | 636 | * and free up other system resources. |
637 | * | 637 | * |
638 | **/ | 638 | */ |
639 | int fc_lport_destroy(struct fc_lport *lport) | 639 | int fc_lport_destroy(struct fc_lport *lport) |
640 | { | 640 | { |
641 | lport->tt.frame_send = fc_frame_drop; | 641 | lport->tt.frame_send = fc_frame_drop; |
@@ -646,15 +646,14 @@ int fc_lport_destroy(struct fc_lport *lport) | |||
646 | EXPORT_SYMBOL(fc_lport_destroy); | 646 | EXPORT_SYMBOL(fc_lport_destroy); |
647 | 647 | ||
648 | /** | 648 | /** |
649 | * fc_set_mfs - sets up the mfs for the corresponding fc_lport | 649 | * fc_set_mfs() - sets up the mfs for the corresponding fc_lport |
650 | * @lport: fc_lport pointer to unregister | 650 | * @lport: fc_lport pointer to unregister |
651 | * @mfs: the new mfs for fc_lport | 651 | * @mfs: the new mfs for fc_lport |
652 | * | 652 | * |
653 | * Set mfs for the given fc_lport to the new mfs. | 653 | * Set mfs for the given fc_lport to the new mfs. |
654 | * | 654 | * |
655 | * Return: 0 for success | 655 | * Return: 0 for success |
656 | * | 656 | */ |
657 | **/ | ||
658 | int fc_set_mfs(struct fc_lport *lport, u32 mfs) | 657 | int fc_set_mfs(struct fc_lport *lport, u32 mfs) |
659 | { | 658 | { |
660 | unsigned int old_mfs; | 659 | unsigned int old_mfs; |
@@ -683,7 +682,7 @@ int fc_set_mfs(struct fc_lport *lport, u32 mfs) | |||
683 | EXPORT_SYMBOL(fc_set_mfs); | 682 | EXPORT_SYMBOL(fc_set_mfs); |
684 | 683 | ||
685 | /** | 684 | /** |
686 | * fc_lport_disc_callback - Callback for discovery events | 685 | * fc_lport_disc_callback() - Callback for discovery events |
687 | * @lport: FC local port | 686 | * @lport: FC local port |
688 | * @event: The discovery event | 687 | * @event: The discovery event |
689 | */ | 688 | */ |
@@ -708,7 +707,7 @@ void fc_lport_disc_callback(struct fc_lport *lport, enum fc_disc_event event) | |||
708 | } | 707 | } |
709 | 708 | ||
710 | /** | 709 | /** |
711 | * fc_rport_enter_ready - Enter the ready state and start discovery | 710 | * fc_rport_enter_ready() - Enter the ready state and start discovery |
712 | * @lport: Fibre Channel local port that is ready | 711 | * @lport: Fibre Channel local port that is ready |
713 | * | 712 | * |
714 | * Locking Note: The lport lock is expected to be held before calling | 713 | * Locking Note: The lport lock is expected to be held before calling |
@@ -725,7 +724,7 @@ static void fc_lport_enter_ready(struct fc_lport *lport) | |||
725 | } | 724 | } |
726 | 725 | ||
727 | /** | 726 | /** |
728 | * fc_lport_recv_flogi_req - Receive a FLOGI request | 727 | * fc_lport_recv_flogi_req() - Receive a FLOGI request |
729 | * @sp_in: The sequence the FLOGI is on | 728 | * @sp_in: The sequence the FLOGI is on |
730 | * @rx_fp: The frame the FLOGI is in | 729 | * @rx_fp: The frame the FLOGI is in |
731 | * @lport: The lport that recieved the request | 730 | * @lport: The lport that recieved the request |
@@ -815,7 +814,7 @@ out: | |||
815 | } | 814 | } |
816 | 815 | ||
817 | /** | 816 | /** |
818 | * fc_lport_recv_req - The generic lport request handler | 817 | * fc_lport_recv_req() - The generic lport request handler |
819 | * @lport: The lport that received the request | 818 | * @lport: The lport that received the request |
820 | * @sp: The sequence the request is on | 819 | * @sp: The sequence the request is on |
821 | * @fp: The frame the request is in | 820 | * @fp: The frame the request is in |
@@ -911,7 +910,7 @@ static void fc_lport_recv_req(struct fc_lport *lport, struct fc_seq *sp, | |||
911 | } | 910 | } |
912 | 911 | ||
913 | /** | 912 | /** |
914 | * fc_lport_reset - Reset an lport | 913 | * fc_lport_reset() - Reset an lport |
915 | * @lport: The lport which should be reset | 914 | * @lport: The lport which should be reset |
916 | * | 915 | * |
917 | * Locking Note: This functions should not be called with the | 916 | * Locking Note: This functions should not be called with the |
@@ -928,7 +927,7 @@ int fc_lport_reset(struct fc_lport *lport) | |||
928 | EXPORT_SYMBOL(fc_lport_reset); | 927 | EXPORT_SYMBOL(fc_lport_reset); |
929 | 928 | ||
930 | /** | 929 | /** |
931 | * fc_rport_enter_reset - Reset the local port | 930 | * fc_rport_enter_reset() - Reset the local port |
932 | * @lport: Fibre Channel local port to be reset | 931 | * @lport: Fibre Channel local port to be reset |
933 | * | 932 | * |
934 | * Locking Note: The lport lock is expected to be held before calling | 933 | * Locking Note: The lport lock is expected to be held before calling |
@@ -960,7 +959,7 @@ static void fc_lport_enter_reset(struct fc_lport *lport) | |||
960 | } | 959 | } |
961 | 960 | ||
962 | /** | 961 | /** |
963 | * fc_lport_error - Handler for any errors | 962 | * fc_lport_error() - Handler for any errors |
964 | * @lport: The fc_lport object | 963 | * @lport: The fc_lport object |
965 | * @fp: The frame pointer | 964 | * @fp: The frame pointer |
966 | * | 965 | * |
@@ -1007,8 +1006,8 @@ static void fc_lport_error(struct fc_lport *lport, struct fc_frame *fp) | |||
1007 | } | 1006 | } |
1008 | 1007 | ||
1009 | /** | 1008 | /** |
1010 | * fc_lport_rft_id_resp - Handle response to Register Fibre | 1009 | * fc_lport_rft_id_resp() - Handle response to Register Fibre |
1011 | * Channel Types by ID (RPN_ID) request | 1010 | * Channel Types by ID (RPN_ID) request |
1012 | * @sp: current sequence in RPN_ID exchange | 1011 | * @sp: current sequence in RPN_ID exchange |
1013 | * @fp: response frame | 1012 | * @fp: response frame |
1014 | * @lp_arg: Fibre Channel host port instance | 1013 | * @lp_arg: Fibre Channel host port instance |
@@ -1059,8 +1058,8 @@ err: | |||
1059 | } | 1058 | } |
1060 | 1059 | ||
1061 | /** | 1060 | /** |
1062 | * fc_lport_rpn_id_resp - Handle response to Register Port | 1061 | * fc_lport_rpn_id_resp() - Handle response to Register Port |
1063 | * Name by ID (RPN_ID) request | 1062 | * Name by ID (RPN_ID) request |
1064 | * @sp: current sequence in RPN_ID exchange | 1063 | * @sp: current sequence in RPN_ID exchange |
1065 | * @fp: response frame | 1064 | * @fp: response frame |
1066 | * @lp_arg: Fibre Channel host port instance | 1065 | * @lp_arg: Fibre Channel host port instance |
@@ -1111,7 +1110,7 @@ err: | |||
1111 | } | 1110 | } |
1112 | 1111 | ||
1113 | /** | 1112 | /** |
1114 | * fc_lport_scr_resp - Handle response to State Change Register (SCR) request | 1113 | * fc_lport_scr_resp() - Handle response to State Change Register (SCR) request |
1115 | * @sp: current sequence in SCR exchange | 1114 | * @sp: current sequence in SCR exchange |
1116 | * @fp: response frame | 1115 | * @fp: response frame |
1117 | * @lp_arg: Fibre Channel lport port instance that sent the registration request | 1116 | * @lp_arg: Fibre Channel lport port instance that sent the registration request |
@@ -1157,7 +1156,7 @@ err: | |||
1157 | } | 1156 | } |
1158 | 1157 | ||
1159 | /** | 1158 | /** |
1160 | * fc_lport_enter_scr - Send a State Change Register (SCR) request | 1159 | * fc_lport_enter_scr() - Send a State Change Register (SCR) request |
1161 | * @lport: Fibre Channel local port to register for state changes | 1160 | * @lport: Fibre Channel local port to register for state changes |
1162 | * | 1161 | * |
1163 | * Locking Note: The lport lock is expected to be held before calling | 1162 | * Locking Note: The lport lock is expected to be held before calling |
@@ -1184,7 +1183,7 @@ static void fc_lport_enter_scr(struct fc_lport *lport) | |||
1184 | } | 1183 | } |
1185 | 1184 | ||
1186 | /** | 1185 | /** |
1187 | * fc_lport_enter_rft_id - Register FC4-types with the name server | 1186 | * fc_lport_enter_rft_id() - Register FC4-types with the name server |
1188 | * @lport: Fibre Channel local port to register | 1187 | * @lport: Fibre Channel local port to register |
1189 | * | 1188 | * |
1190 | * Locking Note: The lport lock is expected to be held before calling | 1189 | * Locking Note: The lport lock is expected to be held before calling |
@@ -1226,7 +1225,7 @@ static void fc_lport_enter_rft_id(struct fc_lport *lport) | |||
1226 | } | 1225 | } |
1227 | 1226 | ||
1228 | /** | 1227 | /** |
1229 | * fc_rport_enter_rft_id - Register port name with the name server | 1228 | * fc_rport_enter_rft_id() - Register port name with the name server |
1230 | * @lport: Fibre Channel local port to register | 1229 | * @lport: Fibre Channel local port to register |
1231 | * | 1230 | * |
1232 | * Locking Note: The lport lock is expected to be held before calling | 1231 | * Locking Note: The lport lock is expected to be held before calling |
@@ -1259,7 +1258,7 @@ static struct fc_rport_operations fc_lport_rport_ops = { | |||
1259 | }; | 1258 | }; |
1260 | 1259 | ||
1261 | /** | 1260 | /** |
1262 | * fc_rport_enter_dns - Create a rport to the name server | 1261 | * fc_rport_enter_dns() - Create a rport to the name server |
1263 | * @lport: Fibre Channel local port requesting a rport for the name server | 1262 | * @lport: Fibre Channel local port requesting a rport for the name server |
1264 | * | 1263 | * |
1265 | * Locking Note: The lport lock is expected to be held before calling | 1264 | * Locking Note: The lport lock is expected to be held before calling |
@@ -1296,7 +1295,7 @@ err: | |||
1296 | } | 1295 | } |
1297 | 1296 | ||
1298 | /** | 1297 | /** |
1299 | * fc_lport_timeout - Handler for the retry_work timer. | 1298 | * fc_lport_timeout() - Handler for the retry_work timer. |
1300 | * @work: The work struct of the fc_lport | 1299 | * @work: The work struct of the fc_lport |
1301 | */ | 1300 | */ |
1302 | static void fc_lport_timeout(struct work_struct *work) | 1301 | static void fc_lport_timeout(struct work_struct *work) |
@@ -1337,7 +1336,7 @@ static void fc_lport_timeout(struct work_struct *work) | |||
1337 | } | 1336 | } |
1338 | 1337 | ||
1339 | /** | 1338 | /** |
1340 | * fc_lport_logo_resp - Handle response to LOGO request | 1339 | * fc_lport_logo_resp() - Handle response to LOGO request |
1341 | * @sp: current sequence in LOGO exchange | 1340 | * @sp: current sequence in LOGO exchange |
1342 | * @fp: response frame | 1341 | * @fp: response frame |
1343 | * @lp_arg: Fibre Channel lport port instance that sent the LOGO request | 1342 | * @lp_arg: Fibre Channel lport port instance that sent the LOGO request |
@@ -1383,7 +1382,7 @@ err: | |||
1383 | } | 1382 | } |
1384 | 1383 | ||
1385 | /** | 1384 | /** |
1386 | * fc_rport_enter_logo - Logout of the fabric | 1385 | * fc_rport_enter_logo() - Logout of the fabric |
1387 | * @lport: Fibre Channel local port to be logged out | 1386 | * @lport: Fibre Channel local port to be logged out |
1388 | * | 1387 | * |
1389 | * Locking Note: The lport lock is expected to be held before calling | 1388 | * Locking Note: The lport lock is expected to be held before calling |
@@ -1415,7 +1414,7 @@ static void fc_lport_enter_logo(struct fc_lport *lport) | |||
1415 | } | 1414 | } |
1416 | 1415 | ||
1417 | /** | 1416 | /** |
1418 | * fc_lport_flogi_resp - Handle response to FLOGI request | 1417 | * fc_lport_flogi_resp() - Handle response to FLOGI request |
1419 | * @sp: current sequence in FLOGI exchange | 1418 | * @sp: current sequence in FLOGI exchange |
1420 | * @fp: response frame | 1419 | * @fp: response frame |
1421 | * @lp_arg: Fibre Channel lport port instance that sent the FLOGI request | 1420 | * @lp_arg: Fibre Channel lport port instance that sent the FLOGI request |
@@ -1510,7 +1509,7 @@ err: | |||
1510 | } | 1509 | } |
1511 | 1510 | ||
1512 | /** | 1511 | /** |
1513 | * fc_rport_enter_flogi - Send a FLOGI request to the fabric manager | 1512 | * fc_rport_enter_flogi() - Send a FLOGI request to the fabric manager |
1514 | * @lport: Fibre Channel local port to be logged in to the fabric | 1513 | * @lport: Fibre Channel local port to be logged in to the fabric |
1515 | * | 1514 | * |
1516 | * Locking Note: The lport lock is expected to be held before calling | 1515 | * Locking Note: The lport lock is expected to be held before calling |
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c index 4f23a9bb15a1..6f07de15c491 100644 --- a/drivers/scsi/libfc/fc_rport.c +++ b/drivers/scsi/libfc/fc_rport.c | |||
@@ -146,7 +146,7 @@ struct fc_rport *fc_rport_rogue_create(struct fc_disc_port *dp) | |||
146 | } | 146 | } |
147 | 147 | ||
148 | /** | 148 | /** |
149 | * fc_rport_state - return a string for the state the rport is in | 149 | * fc_rport_state() - return a string for the state the rport is in |
150 | * @rport: The rport whose state we want to get a string for | 150 | * @rport: The rport whose state we want to get a string for |
151 | */ | 151 | */ |
152 | static const char *fc_rport_state(struct fc_rport *rport) | 152 | static const char *fc_rport_state(struct fc_rport *rport) |
@@ -161,7 +161,7 @@ static const char *fc_rport_state(struct fc_rport *rport) | |||
161 | } | 161 | } |
162 | 162 | ||
163 | /** | 163 | /** |
164 | * fc_set_rport_loss_tmo - Set the remote port loss timeout in seconds. | 164 | * fc_set_rport_loss_tmo() - Set the remote port loss timeout in seconds. |
165 | * @rport: Pointer to Fibre Channel remote port structure | 165 | * @rport: Pointer to Fibre Channel remote port structure |
166 | * @timeout: timeout in seconds | 166 | * @timeout: timeout in seconds |
167 | */ | 167 | */ |
@@ -175,7 +175,7 @@ void fc_set_rport_loss_tmo(struct fc_rport *rport, u32 timeout) | |||
175 | EXPORT_SYMBOL(fc_set_rport_loss_tmo); | 175 | EXPORT_SYMBOL(fc_set_rport_loss_tmo); |
176 | 176 | ||
177 | /** | 177 | /** |
178 | * fc_plogi_get_maxframe - Get max payload from the common service parameters | 178 | * fc_plogi_get_maxframe() - Get max payload from the common service parameters |
179 | * @flp: FLOGI payload structure | 179 | * @flp: FLOGI payload structure |
180 | * @maxval: upper limit, may be less than what is in the service parameters | 180 | * @maxval: upper limit, may be less than what is in the service parameters |
181 | */ | 181 | */ |
@@ -198,7 +198,7 @@ fc_plogi_get_maxframe(struct fc_els_flogi *flp, unsigned int maxval) | |||
198 | } | 198 | } |
199 | 199 | ||
200 | /** | 200 | /** |
201 | * fc_rport_state_enter - Change the rport's state | 201 | * fc_rport_state_enter() - Change the rport's state |
202 | * @rport: The rport whose state should change | 202 | * @rport: The rport whose state should change |
203 | * @new: The new state of the rport | 203 | * @new: The new state of the rport |
204 | * | 204 | * |
@@ -292,7 +292,7 @@ static void fc_rport_work(struct work_struct *work) | |||
292 | } | 292 | } |
293 | 293 | ||
294 | /** | 294 | /** |
295 | * fc_rport_login - Start the remote port login state machine | 295 | * fc_rport_login() - Start the remote port login state machine |
296 | * @rport: Fibre Channel remote port | 296 | * @rport: Fibre Channel remote port |
297 | * | 297 | * |
298 | * Locking Note: Called without the rport lock held. This | 298 | * Locking Note: Called without the rport lock held. This |
@@ -315,7 +315,7 @@ int fc_rport_login(struct fc_rport *rport) | |||
315 | } | 315 | } |
316 | 316 | ||
317 | /** | 317 | /** |
318 | * fc_rport_logoff - Logoff and remove an rport | 318 | * fc_rport_logoff() - Logoff and remove an rport |
319 | * @rport: Fibre Channel remote port to be removed | 319 | * @rport: Fibre Channel remote port to be removed |
320 | * | 320 | * |
321 | * Locking Note: Called without the rport lock held. This | 321 | * Locking Note: Called without the rport lock held. This |
@@ -353,7 +353,7 @@ int fc_rport_logoff(struct fc_rport *rport) | |||
353 | } | 353 | } |
354 | 354 | ||
355 | /** | 355 | /** |
356 | * fc_rport_enter_ready - The rport is ready | 356 | * fc_rport_enter_ready() - The rport is ready |
357 | * @rport: Fibre Channel remote port that is ready | 357 | * @rport: Fibre Channel remote port that is ready |
358 | * | 358 | * |
359 | * Locking Note: The rport lock is expected to be held before calling | 359 | * Locking Note: The rport lock is expected to be held before calling |
@@ -372,7 +372,7 @@ static void fc_rport_enter_ready(struct fc_rport *rport) | |||
372 | } | 372 | } |
373 | 373 | ||
374 | /** | 374 | /** |
375 | * fc_rport_timeout - Handler for the retry_work timer. | 375 | * fc_rport_timeout() - Handler for the retry_work timer. |
376 | * @work: The work struct of the fc_rport_libfc_priv | 376 | * @work: The work struct of the fc_rport_libfc_priv |
377 | * | 377 | * |
378 | * Locking Note: Called without the rport lock held. This | 378 | * Locking Note: Called without the rport lock held. This |
@@ -411,7 +411,7 @@ static void fc_rport_timeout(struct work_struct *work) | |||
411 | } | 411 | } |
412 | 412 | ||
413 | /** | 413 | /** |
414 | * fc_rport_error - Error handler, called once retries have been exhausted | 414 | * fc_rport_error() - Error handler, called once retries have been exhausted |
415 | * @rport: The fc_rport object | 415 | * @rport: The fc_rport object |
416 | * @fp: The frame pointer | 416 | * @fp: The frame pointer |
417 | * | 417 | * |
@@ -444,7 +444,7 @@ static void fc_rport_error(struct fc_rport *rport, struct fc_frame *fp) | |||
444 | } | 444 | } |
445 | 445 | ||
446 | /** | 446 | /** |
447 | * fc_rport_error_retry - Error handler when retries are desired | 447 | * fc_rport_error_retry() - Error handler when retries are desired |
448 | * @rport: The fc_rport object | 448 | * @rport: The fc_rport object |
449 | * @fp: The frame pointer | 449 | * @fp: The frame pointer |
450 | * | 450 | * |
@@ -479,7 +479,7 @@ static void fc_rport_error_retry(struct fc_rport *rport, struct fc_frame *fp) | |||
479 | } | 479 | } |
480 | 480 | ||
481 | /** | 481 | /** |
482 | * fc_rport_plogi_recv_resp - Handle incoming ELS PLOGI response | 482 | * fc_rport_plogi_recv_resp() - Handle incoming ELS PLOGI response |
483 | * @sp: current sequence in the PLOGI exchange | 483 | * @sp: current sequence in the PLOGI exchange |
484 | * @fp: response frame | 484 | * @fp: response frame |
485 | * @rp_arg: Fibre Channel remote port | 485 | * @rp_arg: Fibre Channel remote port |
@@ -554,7 +554,7 @@ err: | |||
554 | } | 554 | } |
555 | 555 | ||
556 | /** | 556 | /** |
557 | * fc_rport_enter_plogi - Send Port Login (PLOGI) request to peer | 557 | * fc_rport_enter_plogi() - Send Port Login (PLOGI) request to peer |
558 | * @rport: Fibre Channel remote port to send PLOGI to | 558 | * @rport: Fibre Channel remote port to send PLOGI to |
559 | * | 559 | * |
560 | * Locking Note: The rport lock is expected to be held before calling | 560 | * Locking Note: The rport lock is expected to be held before calling |
@@ -587,7 +587,7 @@ static void fc_rport_enter_plogi(struct fc_rport *rport) | |||
587 | } | 587 | } |
588 | 588 | ||
589 | /** | 589 | /** |
590 | * fc_rport_prli_resp - Process Login (PRLI) response handler | 590 | * fc_rport_prli_resp() - Process Login (PRLI) response handler |
591 | * @sp: current sequence in the PRLI exchange | 591 | * @sp: current sequence in the PRLI exchange |
592 | * @fp: response frame | 592 | * @fp: response frame |
593 | * @rp_arg: Fibre Channel remote port | 593 | * @rp_arg: Fibre Channel remote port |
@@ -657,7 +657,7 @@ err: | |||
657 | } | 657 | } |
658 | 658 | ||
659 | /** | 659 | /** |
660 | * fc_rport_logo_resp - Logout (LOGO) response handler | 660 | * fc_rport_logo_resp() - Logout (LOGO) response handler |
661 | * @sp: current sequence in the LOGO exchange | 661 | * @sp: current sequence in the LOGO exchange |
662 | * @fp: response frame | 662 | * @fp: response frame |
663 | * @rp_arg: Fibre Channel remote port | 663 | * @rp_arg: Fibre Channel remote port |
@@ -706,7 +706,7 @@ err: | |||
706 | } | 706 | } |
707 | 707 | ||
708 | /** | 708 | /** |
709 | * fc_rport_enter_prli - Send Process Login (PRLI) request to peer | 709 | * fc_rport_enter_prli() - Send Process Login (PRLI) request to peer |
710 | * @rport: Fibre Channel remote port to send PRLI to | 710 | * @rport: Fibre Channel remote port to send PRLI to |
711 | * | 711 | * |
712 | * Locking Note: The rport lock is expected to be held before calling | 712 | * Locking Note: The rport lock is expected to be held before calling |
@@ -741,7 +741,7 @@ static void fc_rport_enter_prli(struct fc_rport *rport) | |||
741 | } | 741 | } |
742 | 742 | ||
743 | /** | 743 | /** |
744 | * fc_rport_els_rtv_resp - Request Timeout Value response handler | 744 | * fc_rport_els_rtv_resp() - Request Timeout Value response handler |
745 | * @sp: current sequence in the RTV exchange | 745 | * @sp: current sequence in the RTV exchange |
746 | * @fp: response frame | 746 | * @fp: response frame |
747 | * @rp_arg: Fibre Channel remote port | 747 | * @rp_arg: Fibre Channel remote port |
@@ -807,7 +807,7 @@ err: | |||
807 | } | 807 | } |
808 | 808 | ||
809 | /** | 809 | /** |
810 | * fc_rport_enter_rtv - Send Request Timeout Value (RTV) request to peer | 810 | * fc_rport_enter_rtv() - Send Request Timeout Value (RTV) request to peer |
811 | * @rport: Fibre Channel remote port to send RTV to | 811 | * @rport: Fibre Channel remote port to send RTV to |
812 | * | 812 | * |
813 | * Locking Note: The rport lock is expected to be held before calling | 813 | * Locking Note: The rport lock is expected to be held before calling |
@@ -838,7 +838,7 @@ static void fc_rport_enter_rtv(struct fc_rport *rport) | |||
838 | } | 838 | } |
839 | 839 | ||
840 | /** | 840 | /** |
841 | * fc_rport_enter_logo - Send Logout (LOGO) request to peer | 841 | * fc_rport_enter_logo() - Send Logout (LOGO) request to peer |
842 | * @rport: Fibre Channel remote port to send LOGO to | 842 | * @rport: Fibre Channel remote port to send LOGO to |
843 | * | 843 | * |
844 | * Locking Note: The rport lock is expected to be held before calling | 844 | * Locking Note: The rport lock is expected to be held before calling |
@@ -870,7 +870,7 @@ static void fc_rport_enter_logo(struct fc_rport *rport) | |||
870 | 870 | ||
871 | 871 | ||
872 | /** | 872 | /** |
873 | * fc_rport_recv_req - Receive a request from a rport | 873 | * fc_rport_recv_req() - Receive a request from a rport |
874 | * @sp: current sequence in the PLOGI exchange | 874 | * @sp: current sequence in the PLOGI exchange |
875 | * @fp: response frame | 875 | * @fp: response frame |
876 | * @rp_arg: Fibre Channel remote port | 876 | * @rp_arg: Fibre Channel remote port |
@@ -931,7 +931,7 @@ void fc_rport_recv_req(struct fc_seq *sp, struct fc_frame *fp, | |||
931 | } | 931 | } |
932 | 932 | ||
933 | /** | 933 | /** |
934 | * fc_rport_recv_plogi_req - Handle incoming Port Login (PLOGI) request | 934 | * fc_rport_recv_plogi_req() - Handle incoming Port Login (PLOGI) request |
935 | * @rport: Fibre Channel remote port that initiated PLOGI | 935 | * @rport: Fibre Channel remote port that initiated PLOGI |
936 | * @sp: current sequence in the PLOGI exchange | 936 | * @sp: current sequence in the PLOGI exchange |
937 | * @fp: PLOGI request frame | 937 | * @fp: PLOGI request frame |
@@ -1053,7 +1053,7 @@ static void fc_rport_recv_plogi_req(struct fc_rport *rport, | |||
1053 | } | 1053 | } |
1054 | 1054 | ||
1055 | /** | 1055 | /** |
1056 | * fc_rport_recv_prli_req - Handle incoming Process Login (PRLI) request | 1056 | * fc_rport_recv_prli_req() - Handle incoming Process Login (PRLI) request |
1057 | * @rport: Fibre Channel remote port that initiated PRLI | 1057 | * @rport: Fibre Channel remote port that initiated PRLI |
1058 | * @sp: current sequence in the PRLI exchange | 1058 | * @sp: current sequence in the PRLI exchange |
1059 | * @fp: PRLI request frame | 1059 | * @fp: PRLI request frame |
@@ -1204,7 +1204,7 @@ static void fc_rport_recv_prli_req(struct fc_rport *rport, | |||
1204 | } | 1204 | } |
1205 | 1205 | ||
1206 | /** | 1206 | /** |
1207 | * fc_rport_recv_prlo_req - Handle incoming Process Logout (PRLO) request | 1207 | * fc_rport_recv_prlo_req() - Handle incoming Process Logout (PRLO) request |
1208 | * @rport: Fibre Channel remote port that initiated PRLO | 1208 | * @rport: Fibre Channel remote port that initiated PRLO |
1209 | * @sp: current sequence in the PRLO exchange | 1209 | * @sp: current sequence in the PRLO exchange |
1210 | * @fp: PRLO request frame | 1210 | * @fp: PRLO request frame |
@@ -1235,7 +1235,7 @@ static void fc_rport_recv_prlo_req(struct fc_rport *rport, struct fc_seq *sp, | |||
1235 | } | 1235 | } |
1236 | 1236 | ||
1237 | /** | 1237 | /** |
1238 | * fc_rport_recv_logo_req - Handle incoming Logout (LOGO) request | 1238 | * fc_rport_recv_logo_req() - Handle incoming Logout (LOGO) request |
1239 | * @rport: Fibre Channel remote port that initiated LOGO | 1239 | * @rport: Fibre Channel remote port that initiated LOGO |
1240 | * @sp: current sequence in the LOGO exchange | 1240 | * @sp: current sequence in the LOGO exchange |
1241 | * @fp: LOGO request frame | 1241 | * @fp: LOGO request frame |