aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mlx4/main.c
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2008-04-17 00:01:08 -0400
committerRoland Dreier <rolandd@cisco.com>2008-04-17 00:01:08 -0400
commit37608eea86a358ac6a18df0af55d4f77d08a1f30 (patch)
treebb0d7c9a93763e6b3fda744a08b2a0c6ed80dfec /drivers/infiniband/hw/mlx4/main.c
parent26c4fc26d0af9b16a6a234318d15ee0b3896a63d (diff)
mlx4_core: Fix confusion between mlx4_event and mlx4_dev_event enums
The struct mlx4_interface.event() method was supposed to get an enum mlx4_dev_event, but the driver code was actually passing in the hardware enum mlx4_event values. Fix up the callers of mlx4_dispatch_event() so that they pass in the right type of value, and fix up the event method in mlx4_ib so that it can handle the enum mlx4_dev_event values. This eliminates the need for the subtype parameter to the event method, so remove it. This also fixes the sparse warning drivers/net/mlx4/intf.c:127:48: warning: mixing different enum types drivers/net/mlx4/intf.c:127:48: int enum mlx4_event versus drivers/net/mlx4/intf.c:127:48: int enum mlx4_dev_event Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx4/main.c')
-rw-r--r--drivers/infiniband/hw/mlx4/main.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 96a39b5c9254..d5512011999c 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -675,18 +675,20 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr)
675} 675}
676 676
677static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr, 677static void mlx4_ib_event(struct mlx4_dev *dev, void *ibdev_ptr,
678 enum mlx4_dev_event event, int subtype, 678 enum mlx4_dev_event event, int port)
679 int port)
680{ 679{
681 struct ib_event ibev; 680 struct ib_event ibev;
682 681
683 switch (event) { 682 switch (event) {
684 case MLX4_EVENT_TYPE_PORT_CHANGE: 683 case MLX4_DEV_EVENT_PORT_UP:
685 ibev.event = subtype == MLX4_PORT_CHANGE_SUBTYPE_ACTIVE ? 684 ibev.event = IB_EVENT_PORT_ACTIVE;
686 IB_EVENT_PORT_ACTIVE : IB_EVENT_PORT_ERR;
687 break; 685 break;
688 686
689 case MLX4_EVENT_TYPE_LOCAL_CATAS_ERROR: 687 case MLX4_DEV_EVENT_PORT_DOWN:
688 ibev.event = IB_EVENT_PORT_ERR;
689 break;
690
691 case MLX4_DEV_EVENT_CATASTROPHIC_ERROR:
690 ibev.event = IB_EVENT_DEVICE_FATAL; 692 ibev.event = IB_EVENT_DEVICE_FATAL;
691 break; 693 break;
692 694